React Native Android生成已簽名的APK


要通過Google Play store或者其它渠道發布應用,你需要生成一個簽名的發行版APK包。Android開發者文檔中的為你的應用程序簽名已經說明了相應的內容。本向導會簡略的介紹這些過程,然后着重講解如何打包JavaScript代碼。

 

生成一個簽名密鑰

 

你可以用keytool命令生成一個私有密鑰。

在命令窗口敲入以下內容

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

注意:黃色標注的分別是秘鑰庫文件和秘鑰庫別名,有很多地方用到這個。

注意:每一次發行apk,keystore 后面的內容需要改alias 后面的內容也要改。

這條命令會要求你輸入密鑰庫(keystore)和對應密鑰的密碼,然后設置一些發行相關的信息。最后它會生成一個叫做my-release-key.keystore的密鑰庫文件。

如圖:

在運行上面這條語句之后,密鑰庫里應該已經生成了一個單獨的密鑰,有效期為10000天。--alias參數后面的別名是你將來為應用簽名時所需要用到的,所以記得記錄這個別名。

 將生成的秘鑰庫文件放到如圖所示的項目位置

 

編輯~/.gradle/gradle.properties,添加如下的代碼(注意把其中的****替換為相應密碼)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=*****

MYAPP_RELEASE_KEY_PASSWORD=*****

 

如圖

 

 

 

注:一旦你在Play Store發布了你的應用,如果想修改簽名,就必須用一個不同的包名來重新發布你的應用。所以請務必備份好你的簽名庫和密碼

添加簽名到應用的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
        }
    }
}

...

 

如圖

生成發行APK

如果你在android/app下有一個react.gradle

 

只要在終端下運行以下命令:

 

$ cd android && ./gradlew assembleRelease

成功后

 

你應該能在android/app/build/outputs/apk/app-release.apk中找到生成的APK文件,並且它已經可以用來被發布。

 

 


免責聲明!

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



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