ReactNative项目打包(Android &&am

2017-11-02  本文已影响124人  飞奔在路上

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或者上传的应用商店

上一篇下一篇

猜你喜欢

热点阅读