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