| | apt已经停止更新,需要全面切换到annotationProcessor,以防止不必要的坑。 |
| 7 |
versionName、versionCode
| | application项目里面必须得有这两个属性。 |
| 8 |
拆分
| | 建议从原有工程中逐步将功能拆分至各个组件项目,而不是另起一个全新项目。 |
| 9 |
Service
| | service必须放到application项目中,不能放到library项目中,必须注意!!! |
| 10 |
BuildConfig
| |
application工程对library工程的依赖都是release依赖!!!
所以一些根据debug和release来判断的操作,需要放到application工程里面。
还有一种解决方案:publishNonDefault true
参考 http://www.jianshu.com/p/64f57439934b
|
| 11 |
So文件
| |
各个工程的libs里面的so文件,需要在各个工程的build.gradle文件中用如下方式引入,不然打包的时候so文件包含不进去:
sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}
|
| 12 |
AsyncTask
| |
asynctask在组件间调用的时候会出现AsyncTask java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.Void[] 异常。
解决方案:
1、去掉泛型;
2、泛型将Void类型换成非Void类型。
|
| 13 |
ApplicationId
|