Android 使用最新的gradle版本要求React Native中的图像失败
如果我更新到最新版本,然后需要React Native中的映像,则无法生成发布版本 我在React Native上发了帖子,但也许你们有更多的想法:) 我创建了一个小模型,但下面是复制它的步骤:Android 使用最新的gradle版本要求React Native中的图像失败,android,gradle,react-native,aapt,Android,Gradle,React Native,Aapt,如果我更新到最新版本,然后需要React Native中的映像,则无法生成发布版本 我在React Native上发了帖子,但也许你们有更多的想法:) 我创建了一个小模型,但下面是复制它的步骤: 初始化新项目:react native Init Test 更新至最新版本: 打开Android Studio并安装推荐版本 从Android Studio构建,它应该要求您更新构建工具,这样做 在index.js中需要图像 运行cd-android&./gradlew-assemblererele
react native Init Test
- 打开Android Studio并安装推荐版本
- 从Android Studio构建,它应该要求您更新构建工具,这样做
index.js中需要图像
cd-android&./gradlew-assemblererelease
/gradlew assemblererelease
不应失败
实际行为
当需要来自JS的映像时,运行/gradlew assemblererelease
失败,原因是:
/Users/almouro/bam/uefa/TestGradle3/android/app/build/intermediates/res/merged/release/drawable mdpi/image.png:错误:未编译的png文件作为参数传递。必须首先编译到.flat文件中。。
错误:解析覆盖失败。
如果不需要图像,则该命令可以正常工作
可复制演示
变通办法
将android.enableApt2=false
添加到android/gradle.properties
可以解决此问题,但这只是一种解决方法,即时应用功能将无法工作
你们知道吗
我的理解是React Native bundleJS gradle任务复制android合并资源文件夹中的所有图像,但aapt现在希望那里的图像在
.flat
文件中编译 您使用的是哪个版本的gradle插件?如果关闭了“新资源处理”,但启用了“启用aapt2”,则会出现此错误。这两个插件在3.0插件中都默认启用,aapt2不应该在2.x版本中使用,因为它当时非常不稳定。嗨@IzabelaOrlowska,我正在使用Gradle with oh,我没有注意到你添加的可复制演示,我来看看问题是什么,@Almouro在这个问题上有没有进展,这不是解决办法?ThanksHi@UriKlar,修复React Native,然后恢复。不幸的是,问题()仍然悬而未决。我自己也不知道如何使用aapt v2。你使用的是哪个版本的gradle插件?如果关闭了“新资源处理”,但启用了“启用aapt2”,则会出现此错误。这两个插件在3.0插件中都默认启用,aapt2不应该在2.x版本中使用,因为它当时非常不稳定。嗨@IzabelaOrlowska,我正在使用Gradle with oh,我没有注意到你添加的可复制演示,我来看看问题是什么,@Almouro在这个问题上有没有进展,这不是解决办法?ThanksHi@UriKlar,修复React Native,然后恢复。不幸的是,问题()仍然悬而未决。我自己也不知道如何使用aapt v2。
git clone https://github.com/Almouro/react-native-with-gradle-4
yarn
cd android
./gradlew assembleRelease