1 < a href=’ '>Rerun</ a>
完整日志是
Install failed.
Installation failed
< a href=' '>Rerun</ a>
产生这个问题是有很多原因的,具体看EventLog才是关键
出现这个问题我的EventLog是这样的:
Failed to commit install session 639684911 with command cmd package install-commit 639684911. Error: INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
很明显是ndk的依赖包出问题了。确实如此,gradle配置了armeabi-v7a和x86,而jniLibs中只添加了armeabi-v7a,再引入x86的包问题解决
2 is not accessible from
我遇到的异常详情是
Caused by: java.lang.IllegalAccessException: java.lang.Class<com.fullcat.demo.b.MainActivity> is not accessible from java.lang.Class<android.app.Instrumentation>
是因为写MainActivity时候忘记加public了
3 Not allowed to bind to service Intent
在做aidl时出现的,是由于service标签没有添加
android:exported="true"
4 Unresolved reference
- 这个是在项目做组件化拆分是遇到的问题,是由于新module的gradle中忘记添加
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
- kotlin项目提取公共的xml到base_module后,原module获取不到该xml中view的id。
原因是由于kotlinx.android.synthetic.main是从当前的R文件中获取id的,因此使用其他module中的xml时需要使用findViewById手动获取
5 DataBinderMapperImpl
完整log是
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.databinding.DataBinderMapperImpl"
组件化项目转化MVVM架构师遇到的,需要再每个module都添加
dataBinding {
enabled = true
}
6. error: resource android:attr/fontVariationSettings not found
把编译版本由27改成28
7. This file can not be opened as a file descriptor; it is probably compressed
出现这个问题是加载 assets 中的一个.tflite文件的时候报的错,这是因为.lite文件被压缩了,解决这个问题需要再gradle中添加如下代码:
android {
...
aaptOptions {
noCompress "tflite" //表示不让aapt压缩的文件后缀
}
...
}
8. dlopen failed: cannot locate symbol “__aeabi_memcpy” referenced by
这个问题有点奇怪,是在我加载一个已经打好的.so库是出现的,而该.so在其他项目中是OK的。额…不管引起的原因是啥,直接说解决方法吧。
我的 Application.mk 中有这样一个语句:
APP_PLATFORM := android-8
但在我的ndk目录下的 platforms 文件夹下并没有android-8对应的版本号,将上面的语句改成platforms下存在的版本号即可。
9. NullPointerException: Attempt to invoke virtual method ‘int com.huawei.lcagent.client.LogCollectManager.getUserType()’ on a null object reference
这个是华为手机特有的问题,原生是华为系统对日志进行了拦截,导致我们不能正确定位到报错的位置,要想显示原有的log需要如下操作
- 拨号界面输入 *#*#2846579#*#*
- 进入工程菜单–>后台设置–>LOG设置–>LOG开关 把几个复选框都勾选,这样就可以显示log了。