在本地依赖Library的时候gradle报这个 Error:Dependency Test:test_lib:unspecified on project app resolves to an APK archive which is not supported 错误,是因为你新建的Lib,系统把他默认当成了一个Module了,就相当于你的ModuleA 去依赖一个 ModuleB。
解决办法:把你的Lib的gradle里面的这个
apply plugin: 'com.android.application'
换成
apply plugin: 'com.android.library'
就可以了。
还有一个问题就是有时会报 Error:Library projects cannot set applicationId. applicationId is set to 'com.example.test_lib' in default config. 这个错误,其实也很好解决,把Library的gradle配置的id去掉就好可以解决了
defaultConfig {
applicationId "com.example.test_lib" // 删除此行
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
此错误的原因是
- 两个AndroidManifest.xml的包名重复了
- 另外,Multiple dex files 的情况也有可能是有重复的support包,或者重复的jar