【react-native】react-native打包apk Error: Duplicate resources已解決

https://blog.csdn.net/jabony/article/details/89841446

RN開發跨平臺項目已經不再陌生,最近使用jenkins持續集成是通過

./gradlew clean 

./gradlew assembleRelease

打包APK 遇到兩個錯誤

⑴Gradle Permission denied

解決辦法就是授權 chmod +x gradlew 或者 sudo chmod +x gradlew

⑵react-native打包apk  Error: Duplicate resources

解決辦法爲 找到你的RN項目,目錄node_modules/react-native/下的react.gradle文件,doFirst塊下添加doLast代碼塊,如下編輯

不想截圖,因爲讓遇到這個問題手敲真的很累而且容易出錯

 
 
doLast {
    def moveFunc = { resSuffix ->
        File originalDir = file("$buildDir/generated/res/react/release/drawable-${resSuffix}");
        if (originalDir.exists()) {
            File destDir = file("$buildDir/../src/main/res/drawable-${resSuffix}");
            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()
}


注意:如果還出現以上問題就把項目res中的生成重複的圖片資源刪除,再打包

編輯保存後再重新執行清理項目,編譯打包即可。

參考文檔:

https://reactnative.cn/docs/0.43/signed-apk-android.html

其他問題可參考:

https://www.jianshu.com/p/b9771bbac546
————————————————
版權聲明:本文爲CSDN博主「Jabony」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jabony/article/details/89841446

發佈了18 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章