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或者上傳的應用商店