ReactNative项目打包(Android &&am
Android项目打包
1, 产生签名的key
在项目的主目录中执行:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
[注:在产生的时候需要提供密钥和存储密码,后续会用到]
mv my-release-key.keystore android/app/
mvrelease-key.keystore android/app/
2, 修改android/gradle.properties文件,增加如下
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=xx
MYAPP_RELEASE_KEY_PASSWORD=xx
[注意替换xx为你自己设置的密钥和存储密码]
3, 修改android/app/build.gradle文件中的签名配置:
...
android {...
defaultConfig {...}
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}}
buildTypes {
release {...
signingConfig signingConfigs.release
}}}
4, 然后在项目根目录执行如下:
cd android/ && ./gradlew clean &&./gradlew assembleRelease清空build文件夹
./gradlew assembleRelease
结束后会在android/app/build/outputs/apk/app-release.apk。
每次执行前,注意将该apk删除。
如果没有权限 执行==> chmod +x gradlew
IOS项目导出IPA或上传到应用商店(证书配置不做详解)
1.在项目根目录下执行
react-nativebundle--entry-fileindex.ios.js--bundle-output./ios/main.jsbundle--platformios--assets-dest./ios--devfalse
将生成的assets文件夹和main.jsbundle文件拖拽到xcode项目中
2.修改AppDelegate.m文件
将jsCodeLocation = [[RCTBundleURLProvidersharedSettings]jsBundleURLForBundleRoot:@"index.ios"fallbackResource:nil];
修改为:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
3.在xcode的Build Phases选项中,找到Copy Bundle Resources,将生成的assets文件夹和main.jsbundle文件添加进去
4.找到product选项 ,点击Archive 即可进行导出ipa或者上传的应用商店