Android
1 Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.
解决:
android {}
configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
}
dependencies {}
2 程序包 org.apache.http 不存在
Android sdk 22 以后删除了httpClient的jar包
需要配置
compileSdkVersion 26
useLibrary 'org.apache.http.legacy'
defaultConfig {
3 访问不到模块 超类的父类方法
因为模块中 implementation jar 所以访问不到
需要 改为api
4 butterknife bindView 之后还是报空指针
在项目的gradle文件的dependencies中增加
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
app 的build.gradle中配置
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
5 jni 找不到路径
如果从Eclipse 转入过来的项目,so已经放入到jniLibs 中,记得删除以下
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
当lib中有so ,比如引入aar 中有so时,再增加此配置
6 unable to merge dex
原因:重复依赖导致
通过run -r stacktrace 可以看到具体是哪个的依赖重复
一般情况是,子模块与app 模块 重复引用导致
方案:通过api方式引用Module和Moduel中的库,将app中的库依赖去掉,只保留Module中的依赖
7 调用.so 文件时报错has text relocations
原因:so的使用的是低版本sdk
需要将targetSdkVersion 降低到对应SDK即可
常常是SDK= 22
——————————————————
IOS 待更新