美文网首页
ReactNative项目打包(Android &&am

ReactNative项目打包(Android &&am

作者: 飞奔在路上 | 来源:发表于2017-11-02 14:48 被阅读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或者上传的应用商店

    相关文章

      网友评论

          本文标题:ReactNative项目打包(Android &&am

          本文链接:https://www.haomeiwen.com/subject/rnlxgttx.html