gradle

记录Android 迁移到AndroidX时的步骤和注意事项

回眸只為那壹抹淺笑 提交于 2020-09-29 16:56:42
写在前面: 项目场景: 问题描述: 原因分析: 解决方案: Android迁移AndroidX: 遇到的坑: 写在最后: 写在前面: 备份!备份!备份! 重要的事情说三遍 项目场景: Android项目迁移到AndroidX 问题描述: 项目在 Android 10获取相册图片和拍照时无法获取到文件路径,进而使app崩溃。 我使用的拍照裁剪的库是: api 'com.github.LuckSiege.PictureSelector:picture_library:v2.2.3' 原因分析: 由于当前依赖库没有使用最新的2.5.3,所以导致项目没有适配到Android10,进而使得读取相册文件路径时出现FileNotFoundException e java.io.FileNotFoundException: /storage/emulated/0/Pictures/xxxxx.jpg: open failed: EACCES (Permission denied)的问题。【首先声明这个问题不是由于没有动态获取权限导致的,也就是说 //清单文件中已添加 < uses - permission android : name = "android.permission.WRITE_EXTERNAL_STORAGE" / > < uses - permission android :

Android项目快速迁移到AndroidX(详解)

三世轮回 提交于 2020-09-29 00:55:45
操作步骤 ①迁移前提 compileSdkVersion改为28 (因为AnroidX 1.0.0版本是与Support Library 28.0.0一致的二进制文件,support最新的是28,所以可以直接迁移) buildToolsVersion改为28.0.2以上 (笔者使用的是 28.0.3 ,仅供参考) gradle插件版本改为4.6及以上(gradle-wrapper.properties中修改distributionUrl) Android Studio版本升级到3.2及以上,建议直接改为最新 (笔者目前使用的是Android 4.0,可以通过Help -> About 查看当前AS版本)。重新构建后的gradle版本是5.4.1,因此上面一步自动完成。 注:关于AS如何升级,以及升级后的一系列问题网上已经有很多教程,读者可以自行搜索。 ②开始迁移 step 1:在gradle.properties文件中添加以下配置 #Android 插件会使用对应的 AndroidX 库而非支持库。 android.useAndroidX=true #Android 插件会通过重写现有第三方库的二进制文件,自动将这些库迁移为使用 AndroidX,但并不完全自动。 android.enableJetifier=true step 2:如下图,AS打开项目 ->