Android问题以及解决方法
问题 or 报错信息 :
No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android
Cannot run program "/Users/xxx/Library/Android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9/prebuilt/darwin-x86_64/bin/mipsel-linux-android-strip" (in directory *** )
解决方案:
1、 从 NDK官网下载地址下载整个NDK包压缩包 (注意: 稳定版本r18b中已经移除了这个文件夹,大家可以去下载历史版本r17c(存在这个文件但是不完整,会报下面这个错误)、16b版本中都可以找到这个文件夹) ;
2、 在(以mac路径为例)/Users/xxx/Library/Android/sdk/ndk-bundle/toolchains 目录下,将压缩包解决放入你缺少的问题文件夹,例如本问题中的:mipsel-linux-android文件夹 。
解决问题参考链接 Sdk Manager安装NDK,安装完之后编译失败 , 只添加对应的文件夹名称无法解决问题。
问题 or 报错信息 :
Error:Configuration with name 'default' not found.
可能的原因:
1、 app下的build.gradle文件中存在路径没有配置正确
例如: 错误的使用 ` : ` , ` : ` 代表相对路径
2、 存在setting.gradle文件中依赖的包,没有导入到项目中
include: 项目名称 , 对应的检查依赖
解决方案:
1、 正确使用` : `
2、 导入依赖包
问题or报错信息:
Android studio 跑React-native项目: Cannot run program "node"
可能的原因:
无法找到node环境
解决方案:
适用于macos系统,如果是windows系统,则指定到自己的node.exe文件的路径
在app/build.gradle根节点加入
ext { react =
[ nodeExecutableAndArgs: ["/usr/local/bin/node"] ]
}
或者
project.ext.react = [
entryFile:"index.js",
nodeExecutableAndArgs: ["/usr/local/bin/node"]
]
问题 or 报错信息:
在Android studio 编译项目的时候 报错Gradle's dependency cache may be corrupt
可能的原因:
gradle的版本无法下载,配置下载的地址有问题
解决方案:
在工程里的gradle/wrapper/gradle-wrapper.properties文件中
将distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip 的地址修改为
distributionUrl=http\://services.gradle.org/distributions/gradle-4.1-all.zip
请求协议从https修改为http可解决该问题
问题 or 报错信息:
在Android studio 编译项目的时候报错: java.util.zip.ZipException: zip file is empty
原因:
在编译过程中存在大小为0的jar包
解决方案:
删除这些大小为0的jar包 or clean后build 即可 , 本人发生这个问题的原因是在测试Aspect注解的时候,错误的写入了PointCuts的内容,导致生成了大小为0的jar包,最终导致编译报错,修改代码,clean后build即可
问题 or 报错信息:
com.android.server.pm.PackageManagerException: hwcertification parse error
原因:
报错信息包含 scanPackageLI 这个应该是对APK里的文件进行解析,但是华为肯定是修改了这个函数,添加了一个checkHwCertification的过程。
checkHwCertification里面应该是检查了华为特有的东西,不符合则会报该错误
解决方案:
去掉角标功能,一般的应用是无法通过华为的审核的。在 AndroidManifest.xml删除下面的权限申明:
<!--华为角标-->
<uses-permissionandroid:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permissionandroid:name="com.huawei.permission.sec.MDM"/>
参考文章:
应用在华为P9手机上安装失败原因分析 (错误码:-110):
https://blog.csdn.net/shijian95/article/details/51413043?_t=t