react native 安卓打包--mac环境,如果打包不成功可注意下my-release-key.keystore的位置关系(绝对路径)

Posted lude1994

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react native 安卓打包--mac环境,如果打包不成功可注意下my-release-key.keystore的位置关系(绝对路径)相关的知识,希望对你有一定的参考价值。

// my-release-key.keystoremy-key-alias都是可修改的名称

1.生成签名密钥(keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

2.在项目中找到android/app/src/main目录下创建一个叫assets的文件夹

 

在工程目录下(android/app/src/main/assets),并在 此文件夹下(assets)生成index.android.bundle

 

(生成index.android.bundle一定要先起服务(react-native start)再输入才会有效,否则生成的是空的)

 

下面是指令(苹果自带curl

curl -k ‘http://localhost:8081/index.android.bundle‘ > android/app/src/main/assets/index.android.bundle

 

3.添加gradleandroid keystore配置(设置app文件夹下的build.gradle文件):

// 签名 ---写在android {}中
signingConfigs { // 放在defaultConfig{} 下面     // 以下字符串为单引号,双引号好像会报错(忘记了)
    release {
    storeFile file(‘/Users/zhou/Desktop/demoS/my-release-key.keystore‘) // 这里的位置是keystore在系统文件的绝对路径位置
    storePassword ‘密码’
    keyAlias ’alias名字‘
    keyPassword ‘MYAPP_RELEASE_KEY_PASSWORD’    
    }}

 


buildTypes {
    release {

 

  minifyEnabled enableProguardInReleaseBuilds
  proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

        signingConfig signingConfigs.release // 再加入这行代码,添加这句话引入签名配置,使之签名生效
    }
}

4.启用Proguard代码混淆来缩小apk文件的大小:

修改为true:def enableProguardInReleaseBuilds = true

 

5./android/目录中执行gradle assembleRelease命令,打包后的文件(apk格式带签名的)在android/app/build/outputs/apk目录中,如果打包碰到问题可以先执行gradle clean清理一下。

 

 

 

 

 

 

以上是关于react native 安卓打包--mac环境,如果打包不成功可注意下my-release-key.keystore的位置关系(绝对路径)的主要内容,如果未能解决你的问题,请参考以下文章

Mac运行React Native安卓项目报错解决

React-native APK打包

安卓转战React-Native之签名打包成Apk并极速多渠道打包

react native 安卓APP打包

安卓转战React-Native之签名打包成Apk并极速多渠道打包

React Native安卓项目打包发布APK步骤