![](/img/trans.png)
[英]Difficulties enabling Kotlin in React Native Expo with Bare Workflow
[英]Publishing a bare-workflow expo React-Native app to Google Play which was previously published in the managed workflow
我的應用程序之前是在 expo 托管工作流中構建的。 我使用expo ba
做到了這一點。 因為 android 應用程序要求您在添加應用程序內購買之前發布您的應用程序,所以我上傳了這個 apk 並使用它發布了一個測試版。
我需要切換到裸工作流以實現應用內購買。 現在,當嘗試創建構建以發布實際應用程序時,我遵循React Native 說明,但必須創建另一個上傳密鑰才能創建構建(這次是 aab)。
在游戲控制台上它指出
上傳密鑰:用於簽署第一個版本的密鑰。 使用相同的密鑰簽署每個后續版本,以驗證它來自您。 確保您的上傳密鑰安全。 如果它丟失或損壞,請聯系開發人員支持以更換它。
我很確定這是一個問題,因為我使用了 expo 給我的任何東西來簽署原始 apk。 我也無法刪除我的原始應用程序並創建一個具有相同捆綁名稱的新應用程序,因為一旦應用程序發布,它就無法刪除。
運行之前使用的密鑰庫文件
expo fetch:android:keystore
這將顯示類似
Keystore credentials
Keystore password: MYAPP_UPLOAD_STORE_PASSWORD
Key alias: MYAPP_UPLOAD_KEY_ALIAS
Key password: MYAPP_UPLOAD_KEY_PASSWORD
Path to Keystore: /Path/To/my_upload_store_file.jks
編輯文件android/app/build.gradle
以包含上述信息
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
//if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file("MYAPP_UPLOAD_STORE_FILE")
storePassword "MYAPP_UPLOAD_STORE_PASSWORD"
keyAlias "MYAPP_UPLOAD_KEY_ALIAS"
keyPassword "MYAPP_UPLOAD_KEY_PASSWORD"
//}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
將my_upload_store_file.jks
放入android/app
編輯文件~/.gradle/gradle.properties
或android/gradle.properties
,並添加以下內容
MYAPP_UPLOAD_STORE_FILE="my_upload_store_file.jks"
MYAPP_UPLOAD_KEY_ALIAS="MYAPP_UPLOAD_KEY_ALIAS"
MYAPP_UPLOAD_STORE_PASSWORD="MYAPP_UPLOAD_STORE_PASSWORD"
MYAPP_UPLOAD_KEY_PASSWORD="MYAPP_UPLOAD_KEY_PASSWORD"
從目錄android
在終端中運行以下命令
./gradlew bundleRelease
這將在android/app/build/outputs/bundle/release/
目錄中生成一個名為app-release.aab
的文件。 將此文件上傳到 Google Playstore 控制台
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.