美文网首页React-Native
React-Native android打包

React-Native android打包

作者: FlowYourHeart | 来源:发表于2017-07-06 10:36 被阅读102次

    1、 首先在工程目录里 执行 mkdir android\app\src\main\assets 这目录是为了存储稍后的离线包。
    2、使用
    keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 申请一个keyStore
    3、设置gradle变量 将 (2)申请到的keystore文件放到android\app目录下
    编辑\ android \gradle.properties,添加如下的代码(注意:请把其中的** 替代为替换的keystore密码)

    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
    MYAPP_RELEASE_KEY_ALIAS=my-key-alias
    MYAPP_RELEASE_STORE_PASSWORD= ******
    MYAPP_RELEASE_KEY_PASSWORD=******

    4.添加签名到应用的gradle配置文件
    编辑你工程目录下的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
            }
        }
    }
    

    5、cd 到 项目根目录 MyFirstProject位置

    运行

    react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/~~~
    
    这个 命令的意思就是生产 index.android.bunlde 离线包文件, 
    位置就在第一步 android\app\src\main\assets目录内 
    但是实际根据我的测试 即使不使用此命令签名apk一样可以正常使用。 
    6、cd 到 \android 目录下 使用gradle命令打签名包:
    
    `gradlew assembleRelease `
    
    打包成功后会在 android\app\build\outputs\apk内 找到app-release.apk 就是签名apk。 
    7、使用`gradlew installRelease `来安装签名包 进行测试。
    
    不执行第5步一样可以将最新的js代码打包到apk中 具体原因有待调查。
    
    [查看原文](http://lib.csdn.net/article/52/33647?knId=1421)
    
    
    
    
    
    
    
    
    
    

    相关文章

      网友评论

        本文标题:React-Native android打包

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