Android 打包问题

打包教程:https://reactnative.cn/docs/0.43/signed-apk-android.html

如果打包出现类似drawable合并的问题:

....../android/app/build/intermediates/res/merged/release/drawable-hdpi-v4/node_modules_reactnavigationstack_dist_views_assets_backicon.png: error: Duplicate file

......./android/app/build/intermediates/res/merged/release/drawable-hdpi/node_modules_reactnavigationstack_dist_views_assets_backicon.png: Originalishere. The version qualifier may be implied.

解决办法:

在这个目录下的文件node_modules/react-native/react.gradle :

在这方法里面 def currentBundleTask = tasks.create(...

在doFirst块之后) 添加以下代码到里面

doLast {
    def moveFunc = { resSuffix ->
        File originalDir = file("${resourcesDir}/drawable-${resSuffix}")
        if(originalDir.exists()) {
            File destDir = file("${resourcesDir}/drawable-${resSuffix}-v4")
            ant.move(file: originalDir, tofile: destDir)
        }
    }
    moveFunc.curry("ldpi").call()
    moveFunc.curry("mdpi").call()
    moveFunc.curry("hdpi").call()
    moveFunc.curry("xhdpi").call()
    moveFunc.curry("xxhdpi").call()
    moveFunc.curry("xxxhdpi").call()
}

如下图:

Android 打包问题_第1张图片

 

Android 打包问题_第2张图片

cd android

gradlew assembleRelease --stacktrace --info

你可能感兴趣的:(RN)