前言
参考
打包APK keytool 错误: java.io.FileNotFoundException: MyAndroidKey.keystore (拒绝访问).
.\keytool -genkeypair -v -keystore c:/my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
-
Warning: JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore d:/my-release-key.keystore -destkeystore d:/my-release-key.keystore -deststoretype pkcs12” 迁移到行业标准格式 PKCS12。 -
打包错误参考Execution failed for task ':react-native-picker:verifyReleaseResources'. https://blog.csdn.net/hxl517116279/article/details/102982200
打包命令
cd android
./gradlew assembleRelease --stacktrace -info
# 清除缓存
./gradlew clean
# 构建bundle
React-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
--verbose
错误1:Error: Duplicate resources
错误描述
-
我这边遇到的引发这个错误的原因是,因为静态资源的重复。
解决方式
-
我自己是直接删除了所有重复的文件就好了。具体的解决方案还是建议你看这篇国外大佬起的帖子:https://stackoverflow.com/questions/53239705/react-native-error-duplicate-resources-android 我仅保留了一下内容:
错误2:java.lang.OutOfMemoryError:GC overhead limit exceeded
错误描述
- 通过百度得知:大概时关于内存堆栈大小,印象到垃圾回收机制的一个配置。
引发这个错误的原因
-
现目前,我是有遇到一下2个因素导致这个问题出现。
-
第一个:在页面中使用了计时器,确没有在componentWillUnmount 中卸载计时器。会导致打包失败,就算侥幸打包成功,程序也极有可能出现闪退等莫名其妙的错误。RN官方文档定时器参考
-
第二个:默认的JVM设置无法满足需求,直接导致打包失败。直接修改gradle.properties 中关于jvm的配置就好了。
|