簡體   English   中英

運行 react-native run-android 時,React Native 發布 apk 與應用程序不匹配

[英]React Native release apk doesn't match app when running react-native run-android

我目前正在構建我的第一個 React Native 應用程序。 我在 Play Console 中設置了一個版本進行內部測試,並且能夠推送我的第一個簽名的 apk。 從那時起,我們進行了錯誤修復,現在已合並到 master 中。 當我嘗試通過運行生成新版本時:

cd android && ./gradlew assembleRelease

並作為新版本上傳,通過 Play 商店更新我的應用后,我看不到任何新的變化。

我試過跑步

react-native bundle --entry-file ./index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

在生成新版本之前,但我仍然沒有看到更改。

在我的設備與 USB 調試連接時運行 react-native run-android 工作正常,以及在任何模擬器中。 我就是不明白為什么我的 APK 與我本地設備上生成的代碼不匹配。

是否有我遺漏的步驟使我的 APK 在構建時無法代表 master 上的最新更改?

使用 React Native 0.56

更新以添加我的 Gradle 配置:

 // android/app/build.grade
 signingConfigs {
    release {
        if(project.hasProperty('MY_RELEASE_STORE_FILE')) {
            storeFile file(MY_RELEASE_STORE_FILE)
            storePassword pass
            keyAlias MY_RELEASE_KEY_ALIAS
            keyPassword pass
        }
    }
}

您應該通過將此代碼放在 defaultConfig 下來更新 app 文件夾下的 android\\app\\build.gradle 文件

signingConfigs {
    debug {
        storeFile file('debug.keystore')
        keyAlias 'androiddebugkey'
        keyPassword 'android'
        storePassword 'android'
    }

    release {
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }
}

同樣在 android\\app\\build.gradle 中,確保用於發布的 buildTypes 包含正確的簽名配置行。

buildTypes {
    debug {
        signingConfig signingConfigs.debug
    }
    release {
        signingConfig signingConfigs.release
        ...
        ...
    }
}

就像那樣,用這些屬性更新你的 gradle.properties 文件

MYAPP_RELEASE_STORE_FILE="Key Store Name"
MYAPP_RELEASE_KEY_ALIAS="Key Store alias"
MYAPP_RELEASE_STORE_PASSWORD="Key Store Password"
MYAPP_RELEASE_KEY_PASSWORD="Key Password"

嘗試改變

--entry-file ./index.js

--entry-file ./index.android.js

也許為時已晚,但我希望這能拯救某人:看起來每次添加新模塊或資產時都必須重新捆綁它

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src /主要/資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM