Android項(xiàng)目打包
1, 產(chǎn)生簽名的key
在項(xiàng)目的主目錄中執(zhí)行:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
[注:在產(chǎn)生的時(shí)候需要提供密鑰和存儲(chǔ)密碼引镊,后續(xù)會(huì)用到]
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為你自己設(shè)置的密鑰和存儲(chǔ)密碼]
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, 然后在項(xiàng)目根目錄執(zhí)行如下:
cd android/ && ./gradlew clean &&./gradlew assembleRelease清空build文件夾
./gradlew assembleRelease
結(jié)束后會(huì)在android/app/build/outputs/apk/app-release.apk相寇。
每次執(zhí)行前,注意將該apk刪除。
如果沒(méi)有權(quán)限 執(zhí)行==> chmod +x gradlew
IOS項(xiàng)目導(dǎo)出IPA或上傳到應(yīng)用商店(證書配置不做詳解)
1.在項(xiàng)目根目錄下執(zhí)行
react-nativebundle--entry-fileindex.ios.js--bundle-output./ios/main.jsbundle--platformios--assets-dest./ios--devfalse
將生成的assets文件夾和main.jsbundle文件拖拽到xcode項(xiàng)目中
2.修改AppDelegate.m文件
將jsCodeLocation = [[RCTBundleURLProvidersharedSettings]jsBundleURLForBundleRoot:@"index.ios"fallbackResource:nil];
修改為:
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
3.在xcode的Build Phases選項(xiàng)中,找到Copy Bundle Resources,將生成的assets文件夾和main.jsbundle文件添加進(jìn)去
4.找到product選項(xiàng) ,點(diǎn)擊Archive 即可進(jìn)行導(dǎo)出ipa或者上傳的應(yīng)用商店