@cxm-2016
2016-08-17T16:48:40.000000Z
字数 754
阅读 1717
android
no
如果在Android Studio中,有ModuleA和ModuleB,我们希望ModuleA依赖ModuleB,运行时候可能会出现该问题,查看被依赖的ModuleB的build.gradle,里面可以看到:
apply plugin: 'com.android.application'
这句话告诉了Gradle将ModuleB编译称为application,也就是apk,这就是问题的所在;
解决方法:将上面该句改为:
apply plugin: 'com.android.library'
此 时,Gradle将编译称为一个Library,也就是库,运行之后,如果出现这个问题:Error:Library projects cannot set applicationId. applicationId is set to 'package_name' in default config.,那是因为一个库不允许设置applicationId,需要将builde.gradle — android — defaultConfig中的applicationId删除;
如果说,我们ModuleB仍然需要生成apk,则我们需要将其中公共的代码放到一个Module,作为一个support的库;
库的build.gradle里面defaultConfig内存在:
defaultConfig {
*applicationId "com.du.android.recyclerview"
minSdkVersion 21
targetSdkVersion 21
*versionCode 1
*versionName "1.0"
...
}
红色部分的字体,这时删除系统红色(也就是上面*号标注的)标注的内容即可!