react native 之打包 Android的apk

react native 打包成Android 的apk安装包有两种方式,第一种方式是利用 Android studio 打包这里就不接介绍了。第二种是利用 react native 自身项目打包

1.生成签名

再一个空文件夹打开CMD,运行以下命令

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

 

 

 2.按提示输入口令(自定义,要记住)、姓氏、组织单位、城市、天国代码(86)

 

 

 3.将生成后的 my-release-key.keystore(我这里改成了app.keystore了) 放到你工程中的android/app文件夹下

 

 

 4.打开编辑项目目录下的android/app/build.gradle文件,添加如下的签名配置(signingConfigs )

signingConfigs {
        // 将默认的debug 注释或者去掉都可以
        // debug {
        //     storeFile file('debug.keystore')
        //     storePassword 'android'
        //     keyAlias 'androiddebugkey'
        //     keyPassword 'android'
        // }
        release {
              keyAlias 'my-key-alias' //别名
              keyPassword 'zkr123521' //密钥密码 之前设置秘钥口令
              storeFile file('app.keystore') //my-release-key.keystore文件的绝对路径
              storePassword 'zkr123521' //存储密码
         }
    }

5.修改android/app/build.gradle 中buildTypes 配置

buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
        release {
            // Caution! In production, you need to generate your own keystore file.
            // see https://reactnative.dev/docs/signed-apk-android.
            signingConfig signingConfigs.release //将默认的debug 改成 release
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }

6.修改android/app/build.gradle 中的enableProguardInReleaseBuilds属性

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = true //将默认的false 改成true

7.进入 react native 的andriod 目录 运行

gradlew assembleRelease     //windows命令
./gradlew assembleRelease   //在macOS和Linux系统

 

 8.执行完毕后在    你的项目下\android\app\build\outputs\apk\release中可以找到 app-release.apk

 

 

 本人亲自填的坑!

posted @ 2021-01-14 20:42  创客未来  阅读(1520)  评论(0编辑  收藏  举报