Android 使用最新的gradle版本要求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中的映像,则无法生成发布版本

我在React Native上发了帖子,但也许你们有更多的想法:)

我创建了一个小模型,但下面是复制它的步骤:

  • 初始化新项目:
    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