ReactNative專案打包(Android&&IOS)

範東洋發表於2017-11-02

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


相關文章