老的工程移植到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']
    }
  }

posted on 2017-11-01 15:41  Felizño  阅读(891)  评论(0)    收藏  举报

导航