使用最新的gradle在React Native中要求图像无法发布版本

时间:2017-11-27 18:09:05

标签: android gradle react-native aapt

如果我更新到最新的Gradle然后需要React Native中的图像,我就无法构建发布版本。

我在React Native上发布了an issue,但也许你们有更多想法:)

我创建了一个小test project,但以下是重现它的步骤:

  1. 初始化一个新项目:<table> <tbody data-bind="foreach: { data:taskRecordOverview, as: '_task'}"> <tr data-bind="foreach: { data:Object.keys(_task), as: '_key'}"> <td data-bind="text: _task[_key]"></td> </tr> </tbody> </table>
  2. 更新到最新的Gradle:
    • 打开Android Studio并安装推荐版本
    • 从Android Studio构建,它应该要求您更新构建工具,这样做
  3. 需要react-native init Test
  4. 中的图片
  5. 运行index.js
  6. 预期行为

    命令cd android && ./gradlew assembleRelease不应该失败

    实际行为

    当JS需要图像时运行./gradlew assembleRelease失败: ./gradlew assembleRelease

    如果不需要图像,则命令正常。

    可重复演示

    
    /Users/almouro/bam/uefa/TestGradle3/android/app/build/intermediates/res/merged/release/drawable-mdpi/image.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..
    error: failed parsing overlays.
    

    解决方法

    git clone https://github.com/Almouro/react-native-with-gradle-4 yarn cd android ./gradlew assembleRelease 添加到android.enableAapt2=false可解决此问题,但这只是一种解决方法,而且即时应用功能无效。

    你们有什么想法吗?

    我的理解是React Native bundleJS gradle任务复制了android merged resources文件夹中的所有图片,但aapt现在希望那里的图像能够编译成android/gradle.properties个文件。

0 个答案:

没有答案