Android
guanguanboy
这个作者很懒,什么都没留下…
展开
-
ffmpeg 使用ndk编译支持mjpeg编解码的armv7-a和armv8-a的库
ffmpeg编译脚本参考链接https://zhuanlan.zhihu.com/p/76462890这篇文章中提到了使用gcc 和 clang去编译的两种方法。我在下面使用的是clang的方法。ndk的版本是r21bffmpeg的版本是4.2.3原始脚本#!/bin/bash# 清空上次的编译make clean#你自己的NDK路径.export NDK=/home/anjoiner/Android/Sdk/ndk-bundleTOOLCHAIN=$NDK/toolchains/原创 2020-08-20 19:03:54 · 1139 阅读 · 0 评论 -
将Java中的byte转换为int值
原来以为直接可以将byte当作int使用。没想到不可以。需要将高低位分别取出来,然后计算出int值。/*** 将一个byte数转成int* 实现这个函数的目的是为了将byte数当成无符号的变量去转化成int** @param data byte字节*/private static int convertByteToInt(byte data) { int heightBit = (int) ((data >> 4) & 0x0F); ...原创 2020-08-14 17:40:57 · 2991 阅读 · 0 评论 -
android studio编译module
1,在build gradle中做如下修改:2, 选中要编译的module3,执行Make module 按钮原创 2020-08-06 17:58:19 · 1399 阅读 · 0 评论 -
如何将android apk编译为arr包
https://developer.android.com/studio/projects/android-library?hl=zh-cn将应用模块转换为库模块如果现有的应用模块包含您想要重复使用的所有代码,您可以按照以下步骤将其转换为库模块:打开模块级build.gradle文件。 删除applicationId行。只有 Android 应用模块才能定义此行。 在文件的顶部,您应该会看到以下代码: apply plugin: 'com.android.applicat...原创 2020-07-29 18:17:52 · 1987 阅读 · 0 评论 -
Could not resolve com.android.support:appcompat-v7:28.0.0问题的解决
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0.这个问题一般是找不到相关依赖导致的。问题出在app下的build gradle中指定的android sdk的版本,找不到对应的依赖库...原创 2020-01-03 14:26:01 · 7466 阅读 · 1 评论 -
无法获取'https://jcenter.bintray.com/com/网站的资源
Could not get resource 'https://jcenter.bintray.com/com/错误示例:> Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/1.3.1/gradle-1.3.1.pom'. > C...原创 2020-01-02 17:30:32 · 11165 阅读 · 6 评论 -
关于指定android平台架构的重要性
如果不指定,它会编译各个架构下的包,如果指定,只编译指定架构下的包ndk { abiFilters 'armeabi-v7a'}原创 2019-12-26 17:19:41 · 170 阅读 · 0 评论 -
android studio替换AAR后源码不刷新问题的解决
问题现象:更新了faceid-release.aar, 但是新aar包中新增的函数在android studio中无法应用到,标红,提示新增的函数unresolved.解决办法:在项目的.idea\libraries目录下,会有一个文件Gradle___faceid_release__aar.xml,指定了aar被解析后的缓存目录,将Gradle___faceid_release__aar.x...原创 2019-12-10 14:29:39 · 878 阅读 · 0 评论 -
Could not resolve com.android.support.constraint:constraint-layout:1.1.3问题的解决
完整log:ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.3.Show DetailsAffected Modules: appERROR: Una...原创 2019-12-06 17:16:20 · 4471 阅读 · 0 评论 -
一个Cause: unable to find valid certification path to requested target问题的解决过程
1,问题完整的log:org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:lintVitalRelease'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(Ex...原创 2019-11-27 17:38:26 · 1719 阅读 · 0 评论 -
unable to find valid certification path to requested target
遇到这个问题,肯定是需要在线下载一些软件包,但是无法连接目标网站或者不信任目标网站的证书。我这里log中记录产生这个问题的原因是:Caused by: org.gradle.api.resources.ResourceException: Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/...原创 2019-11-27 15:12:24 · 432 阅读 · 0 评论 -
使用wifi调试Android设备
首先确保电脑和手机都连接了同一个局域网 打开 usb 调试,用数据线连接电脑和手机 用 adb 查看已连接的 Android 设备 用命令adb -s [device id] tcpip [port]为需要 wifi 连接的设备指定端口号,参数device id:需要连接的设备id,即第二步里边看到的那个字符串;参数port:连接使用的端口号,按自己心意指定,...原创 2019-11-18 15:55:21 · 255 阅读 · 0 评论 -
SurfaceView, SurfaceHolder与Surface
https://developer.android.google.cn/reference/android/view/SurfaceHolder.htmlSurfaceHolderbstract interface to someone holding a display surface. Allows you to control the surface size and format,...转载 2019-06-18 20:41:32 · 347 阅读 · 0 评论 -
TextureView, SurfaceTexture与Surface的关系
在TextureView中存在一个private SurfaceTexture mSurface;成员变量。可以使用这个SurfaceTexture来构造一个Surface。然后在Surface上可以显示从camera中获取到的流。Aandroid.view.Surfacecreated from a SurfaceTexture can be used as an outp...转载 2019-06-18 20:17:47 · 7764 阅读 · 0 评论 -
build gradle dependencies闭包的详解
dependencies闭包的整体功能是指定当前项目所有依赖关系:本地依赖、库依赖及远程依赖。本地依赖:可以对本地Jar包或者目录添加依赖关系库依赖:可以对项目中的库模块添加依赖关系远程依赖:可以对jcenter库上的开源项目添加依赖,标准的远程依赖格式是:域名:组织名:版本号dependencies {181 implementation fileTree(dir: ...原创 2019-06-06 14:53:05 · 3541 阅读 · 0 评论 -
将Android Bitmap转换成png格式的图像
public static void saveBitmap(Bitmap bm) { Log.e(TAG, "保存图片"); File sdDir = Environment.getExternalStorageDirectory(); String tmpFile = sdDir.toString()+"/DCIM/" + "occlusionCap.jpg"; ...原创 2019-06-12 14:47:25 · 4151 阅读 · 0 评论 -
TextureView与SurfaceView 的区别及如何实现预览
参考博客:https://www.cnblogs.com/wytiger/p/5693569.htmlhttps://www.cnblogs.com/wangfeng520/p/5489170.htmlhttps://blog.csdn.net/ganfanzhou/article/details/83721750https://www.jianshu.co...原创 2019-06-10 11:08:08 · 498 阅读 · 0 评论 -
java.lang.UnsatisfiedLinkError: dlopen failed: library "xxx.so" not found
今天在开发中遇到了标题中的问题。场景:我的app依赖于一个用c++开发的so库,然后在app的CmakeLists.txt中也依赖了这个库,如下:target_link_libraries( # Specifies the target library. native-lib xxx #...原创 2019-05-10 18:06:04 · 25502 阅读 · 8 评论 -
Android文件操作
openFileOutput:openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android会自动创建它。创建的文件保存在/data/data/<package name>/files目录。 openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为: Context.MODE_P...原创 2019-05-10 17:51:52 · 169 阅读 · 0 评论 -
Android Studio NDK JNI 使用第三方SO库时提示error: undefined reference to
当前问题的场景:1,我有一个共享库sharedlibrary.so, 这个共享库是使用c++语言编写的,我使用Android studio 编出来的,这个共享库里有很多函数:function1,function2,function3等等。2,现在需要搞出一个app,来验证该共享库的功能,于是我使用AS新建了一个支持c++的工程。在工程中的native-lib.cpp文件中,我包含了shar...原创 2019-05-09 20:05:37 · 6673 阅读 · 3 评论 -
什么是SurfaceView的双缓冲机制
在运用时可以理解为:SurfaceView在更新视图时用到了两张 Canvas,一张 frontCanvas 和一张 backCanvas ,每次实际显示的是 frontCanvas ,backCanvas 存储的是上一次更改前的视图。当你在播放这一帧的时候,它已经提前帮你加载好后面一帧了,所以播放起视频很流畅。当使用lockCanvas()获取画布时,得到的实际上是backCanvas 而不是...原创 2019-08-19 10:47:30 · 658 阅读 · 0 评论 -
SDK中通常都包括什么内容
首先,如果有说明文档和实例代码是最好的。说明文档中最好能列出C语言中所有对外函数的说明及使用方法,C++和java中所有对外的类的说明及使用方法。其次,不管是什么语言或者系统的SDK都应该有一个Include目录,里面包含对外的头文件。再次,也是最重要的,必须要包含library,SDK的功能实体是由各种类型的library完成的,主要是动态库。下面针对不同的语言,详细说明一下。C...原创 2019-04-29 14:35:25 · 4329 阅读 · 0 评论 -
Could not find lint-gradle-api.jar的问题解决
项目运行报如下错误:一通搜索后提示需要在Project的build.gradle内添加google(),如下:但是依旧不行,原因是google 库无法访问导致的,将以上两处替换为将阿里的镜像即可参考:https://segmentfault.com/q/1010000016775662---------------------作者:倚门回首来源:CSDN原文:https:...转载 2019-06-11 10:23:41 · 596 阅读 · 0 评论 -
关于Android finish方法
https://www.cnblogs.com/gaolizhong/p/4521565.html在android应用开发中,我们从一个activity跳到另一个activity时,我么要用到Intent;eg:Intent intent = new Intent(A.this,B.class); startActivity(intent);这样操作的话,当我们成功跳到b的时候...转载 2019-06-11 10:30:07 · 1029 阅读 · 0 评论 -
Android横竖屏切换问题
App 横竖屏切换的时候会销毁当前的 Activity 然后重新创建一个 横竖屏切换时 Activity 生命周期:onPause-> onStop-> onDestory-> onCreate->onStart->onResume 现在设置一个按钮和一个 TextView 显示文本,点击按钮后,修改 TextView 默认的文本,然后横竖屏切换,会发现 Text...转载 2019-06-17 17:18:03 · 310 阅读 · 0 评论 -
Android Studio 编译错误Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26....
从同事那里拿了一个APP的源码。用Android Studio打开之后提示:Android studio Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).解决办法:网上很多朋友说是跟目录的build.gradle中的allprojects{...}里面写上google(...原创 2018-12-05 11:03:40 · 2021 阅读 · 0 评论 -
几篇关于Java WeakRecerence的的博客
Android中的WeakReference 弱引用:https://www.cnblogs.com/CVstyle/p/6395745.htmlJava 如何有效地避免OOM:善于利用软引用和弱引用:https://www.cnblogs.com/dolphin0520/p/3784171.html...原创 2019-08-16 11:00:05 · 105 阅读 · 0 评论 -
一个Bitmap引起的OOM问题的解决
1,出错日志:08-14 10:04:00.858 1827 1852 E OpenGLRenderer: GL error: Out of memory!08-14 10:04:00.858 1827 1852 F OpenGLRenderer: GL errors! frameworks/base/libs/hwui/renderthread/CanvasContext.cpp...原创 2019-08-19 15:34:01 · 3129 阅读 · 1 评论 -
关于SurfaceView的使用
关于使用SurfaceView,网上很多版本都是直接创建一个SurfaceView的子类,然后实现SurfaceHolder.Callback, Runnable接口,并启动一个线程。一来就搞这么一套东西,让人很不理解。1,其实SurfaceView就是一个控件,我们完全可以直接在上面绘制图像。方法如下:在布局文件中包含一个Surfaceview的组件:如下: <S...原创 2019-08-19 16:02:52 · 273 阅读 · 0 评论 -
Android定时器的使用
使用Timer+TimerTask + Handler的方法:典型实现:step1:在onCreate方法中,创建Timer对象及TimerTask对象:timer = new Timer();//创建timer对象 timer.schedule(new TimerTask() { @Override public void run() {...原创 2019-08-02 11:08:49 · 2278 阅读 · 0 评论 -
使用addr2line 定位android下 so库crash问题
1,错误日志:F/libc ( 2355): Fatal signal 11 (SIGSEGV) at 0x00000037 (code=1), thread 2428 (SkeletonEngineT)W/InputMethodManagerService( 471): Window already focused, ignoring focus gain of: com.andr...原创 2019-07-26 15:15:11 · 1316 阅读 · 0 评论 -
Intent相关方法介绍
getBooleanExtraRetrieve extended data from the intent.public boolean getBooleanExtra (String name, boolean defaultValue)name String: The name of the desired item. defaultValue ...原创 2019-08-02 15:50:50 · 1575 阅读 · 0 评论 -
unable to apply changes:plugins "App links assistant",firebase services won'
新安装的android studio工具报错,本来以为只要在plugins中安装android support插件的,现在点击该插件还是不能apply,提示:unable to apply changes:plugins "App links assistant",firebase services won'解决办法:只要把红色的plugin 取消勾选即可,再点击android sup...转载 2019-07-05 14:03:34 · 1326 阅读 · 0 评论 -
ImageView全屏显示方法
<ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:layout_below="@+id/liveness" ...转载 2019-06-26 16:04:35 · 1065 阅读 · 0 评论 -
使用android studio发布release 版本
(1)Android studio中修改待发布App的版本号于是,找到build.gradle 文件,更改defaultConfig { applicationId "com.example.qurenwu" minSdkVersion 14 targetSdkVersion 14 versionCode 2 ...原创 2019-04-02 15:38:13 · 2031 阅读 · 0 评论 -
Write access is allowed from event dispatch thread only
点击菜单“File-->Project Structure-->SDK Location,勾选JDK Location下边的Use embedded JDK(recommended),然后点击OK,就处理成功啦。参考博客:https://www.jianshu.com/p/ad99be756bdb...原创 2019-04-02 14:09:03 · 189 阅读 · 0 评论 -
android 6以上需要动态注册usb权限的问题
原因:android版本太高,没有读写sd卡的权限。对于android 6以上的版本,权限不仅需要在manifest文件中声明,还需要在代码中动态注册。 public static void verifyStoragePermissions(Activity activity) {try {//检测是否有写的权限int permission = ActivityCompat.checkS...原创 2019-02-01 10:54:53 · 1747 阅读 · 1 评论 -
NDK中signal 11(SIGSEGV)问题的解决方法
上面的crash问题都是在jni层c++代码中出现的,根据log的提示F/libc ( 5580): Fatal signal 11 (SIGSEGV) at 0x0004811a (code=1), thread 5593 (Cursor server e)Fatal signal 11 (SIGSEGV):这个signal 11 明确指示该问题是由空指针引起的。出现这个signal...原创 2019-02-01 10:47:38 · 11283 阅读 · 0 评论 -
Android Studio环境的功能总结
1,Build->Analyze Apk首先点击Build->Build Apks生成一个apk,接着点击Analyze Apk可以将Apk中打包的内容完全显示出来,Apk本质上是一个包。原创 2019-02-01 09:21:25 · 174 阅读 · 0 评论 -
如何学习Android
学习路线:https://blog.csdn.net/singwhatiwanna/article/details/49560409如何学习:https://www.zhihu.com/question/48035446/answer/109003731 图书:《Android开发艺术探索》《Android 源码设计模式解析与实战》《Android内核剖析》《Andro...原创 2019-01-13 15:56:11 · 300 阅读 · 0 评论