老的工程移植到AndroidStudio需要修改的注意事项
之前老的工程用android-apt编译,如果要在新的AndroidStudio编译至少需要修改一下几部分:
1. 修改project里的build.gradle
dependencies {
classpath "com.android.tools.build:gradle:3.0.0" //一般这一项版本儿较旧,需要修改成像这样高一些的版本儿
// classpath 'com.neenbedankt.gradle.plugins:android-apt:1.6' //这下面两行需要注释/删除,因为是老的android-apt用的
// classpath 'me.tatarka:gradle-retrolambda:3.2.0'
}
2.修改app里的build.gradle
apply plugin: 'com.android.application'
//apply plugin: 'com.neenbedankt.android-apt' //删除这两行
//apply plugin: 'me.tatarka.retrolambda'
....
修改下面的apt为annotationProcessor
annotationProcessor "org.androidannotations:androidannotations:$AAVersion" //apt "org.androidannotations:androidannotations:$AAVersion"
还需要删除apt编译参数
//apt {
// arguments {
// //noinspection GroovyAssignabilityCheck
// androidManifestFile variant.outputs[0].processResources.manifestFile
// resourcePackageName android.defaultConfig.applicationId
// }
//}
3.完成前两步后编译会发现找不到AndroidManifest,这是需要加上 annotationProcessor build 参数,参考以下
android {
。。。
defaultConfig {
。。。
javaCompileOptions {
annotationProcessorOptions {
arguments = ['resourcePackageName': android.defaultConfig.applicationId,
'androidManifestFile': 'app/src/main/AndroidManifest.xml']
}
}
。。。
}
}
或者尝试下面的方法解决找不到 AndroidManifest的问题,需要自己试我没有测:
https://stackoverflow.com/questions/38360217/how-to-setup-androidannotations-on-android-studio/39127445#39127445
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java', 'build/generated/source/apt/${variant.dirName}']
resources.srcDirs = ['src/main/res']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
}
浙公网安备 33010602011771号