Advertisement

Android Support升级Androidx

阅读量:

1、gradle配置

在gradle.properties中添加:

复制代码
    android.useAndroidX=true
    android.enableJetifier=true
    
    
      
      
    
    AI写代码

2、自动迁移dependencies

Android Studio菜单栏->Refactor->Migrate to AndroidX

3、手动查漏补缺

通过Android支持库进行全面查找,并对遗漏的内容进行替补缺失项操作,则此过程较为费时。

4、编译时最好使用AndroidStudio->Terminal->gradlew命令,容易发现问题

gradlew常用命令:

复制代码
    //查看Gradle、Kotlin、Groovy、JVM等的版本
    gradlew -v
    
    //类似Build->clean Project
    gradlew clean
    
    //查看所有任务,也可通过AndroidStudio右边的Gradle->项目->Tasks查看
    gradlew tasks --all
    
    //编译并打印日志
    gradlew build --info
    
    //调试模式并打印堆栈信息
    gradlew build --info --debug --stacktrace
    
    //查看app项目依赖树
    gradlew :app:dependencies
    
    //编译并打Debug包
    gradlew assembleDebug 
    
    //编译打release包
    gradlew assembleRelease 
    
    //打debug包并安装
    gradlew installDebug 
    
    //Release模式打包并安装
    gradlew installRelease 
    
    //卸载debug包
    gradlew uninstallDebug 
    
    //卸载Release包
    gradlew uninstallRelease 
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

5、资源冲突解决

在编译过程中可能会遇到资源无法定位或发生冲突的情况。通常是因为资源使用不当造成的。例如当前子包中没有对应的资源,则可参考以下代码片段以规避Lint相关问题

复制代码
    lintOptions {
        // 遇到 lint 检查错误会终止构建,一般设置为 false
        abortOnError false
        // 将警告当作错误来处理(老版本:warningAsErros)
        warningsAsErrors false
        // 检查新 API
        check 'NewApi'
    }
    
    
      
      
      
      
      
      
      
      
    
    AI写代码

6、子包使用databiding的坑

应用启动时遇到问题:通过静态库构建完成了项目的开发。
这个问题源于自己开发的子包采用了数据绑定技术。
因此需要确保所有依赖数据绑定功能的组件都升级至最新版本。
androidx.appcompat.MergedDataBinderMapper.addMapper

7、androidx兼容问题:

一个使用支持库的应用尝试采用了AndroidX组件开发工具包,但因缺少必要的构建环境而无法成功构建;
一个使用AndroidX应用开发工具包的应用调用了支持库作为第三方依赖项,在构建APK文件时,默认情况下支持库会被转换为与AndroidX兼容的依赖项。

全部评论 (0)

还没有任何评论哟~