Android开发琐碎坑点总结(待续...)

  1. 史上第一坑 Android Studio版本、Gradle版本、插件版本(com.android.tools.build:gradle)对照影响:
    已知Android Studio 3.6.1版本至少需要Gradle 4.4以上,4.4不兼容。
    关于Gradle版本以及构建插件对应版本的对照表如下:
    Android开发琐碎坑点总结(待续...)_第1张图片
    另外插件版本与buildToolsVersion也有对应关系,见链接:https://developer.android.com/studio/releases/gradle-plugin#3-0-0 其中对应插件版本的详情部分有列出对应插件可正确执行的条件。

  2. 关于Gradle增量注解编译问题:
    在某些情况下,以annotationProcessor方式导入的包会报错,有两种解决途径:

    • 若导入的包兼容增量注解方式,则更新到指定版本,有对照表见链接:https://docs.gradle.org/current/userguide/java_plugin.html#making_an_annotation_processor_incremental
    • 将Gradle版本改为4.10.3或以下、插件改为3.3.2或以下,并在gradle.properties文件中插入:
      android.enableSeparateAnnotationProcessing=true
      PS:限制Gradle版本的原因为自Gradle 5.1+起,将不再兼容android.enableSeparateAnnotationProcessing=true这种控制方式。可以见链接:https://stackoverflow.com/questions/55232137/android-enableseparateannotationprocessing-set-flag-in-build-gradle
  3. Fresco自1.14.0(含)之后,开始使用AndroidX,如果需要Support Library,则只能考虑1.13.0或更低

  4. ButterKnife自10.0.0之后开始使用AndroidX,因此需要Support Library的话,只能考虑9.0或者butterknife:9.0.0-SNAPSHOT

  5. 注解框架androidannotations 4.6.0暂时不支持注解增量编译,见链接:https://github.com/androidannotations/androidannotations/issues/2193

  6. Matisse自v0.5.2-beta5起转至AndroidX,最后一个Support Library的版本为v0.5.2-beta3
    未完待续…

你可能感兴趣的:(Android)