安卓項目發(fā)布到真機上測試需要打包成apk。就介紹下打包流程:
1. 產(chǎn)生簽名的key
該過程會用到keytool,開發(fā)過安卓的都應(yīng)該接觸過該東西。詳細請見密鑰和證書管理工具。
在工程的主目錄中執(zhí)行:
keytool -genkey -v -keystore my-release-key.keystore -aliasmy-key-alias-keyalg RSA -keysize2048-validity10000
[注:在產(chǎn)生的時候需要提供密鑰和存儲密碼黎茎,后續(xù)會用到]
把生成的 my-release-key.keystore 拷貝到工程目錄 /android/app/目錄下
2.新建assets文件夾
找到工程目錄下/android/app/src/main,并在該目錄下新建assets文件夾
3. 在工程目錄下執(zhí)行以下命令
目的是將 index.android.bundle下載并保存到assets資源文件夾中
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle
提示curl命令不是內(nèi)部...当悔? 答案在: http://www.cnblogs.com/xing901022/p/4652624.html
執(zhí)行完后在步驟2新建的目錄下android/app/src/main/assets/多了一個index.android.bundle文件
4. 修改android/gradle.properties文件傅瞻,增加如下
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=xx
MYAPP_RELEASE_KEY_PASSWORD=xx
[注意替換xx為你自己設(shè)置的密鑰和存儲密碼]
5.修改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
}
}
}
6.然后進入android目錄執(zhí)行如下:
gradlew assembleRelease
結(jié)束后會在android/app/build/outputs/apk/app-release.apk。
每次執(zhí)行前盲憎,注意將該apk刪除嗅骄。
遇到的問題
第一次執(zhí)行打包操作時出現(xiàn)下面問題,什么拒絕訪問
我也不清楚這個問題的來由饼疙,我進入\android\app\build\intermediates\assets\目錄下沒有看到release目錄溺森,所以我新建一個release目錄,并把相關(guān)資源拷貝進去窑眯,再次打包成功