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

 

 

 本人親自填的坑!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM