簡體   English   中英

為什么用'--prod --release android'構建Ionic 3 apk會給Google Playstore錯誤,表明apk是在調試模式下簽名的?

[英]Why is Ionic 3 apk build with '--prod --release android' giving Google playstore error that apk was signed in debug mode?

Play商店不再接受我的Ionic 3應用程序構建。 我確信證書和簽名過程沒有任何問題。 我之前發布了多個版本,最后一個發布於2018年7月。

$ ionic info

cli packages: (/usr/lib/node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 6.3.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    Node              : v8.11.3
    npm               : 5.6.0
    OS                : Linux 4.15

Environment Variables:

    ANDROID_HOME : /home/sebinbenjamin/Android/Sdk

Misc:

    backend : pro

我用這個命令建立

$ ionic cordova build --prod --release android

在以下位置生成了未簽名的發行版APK:

/home/.../app/platforms/android/build/outputs/apk/android-release-unsigned.apk

我用以下命令簽名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/app.keystore ./platforms/android/build/outputs/apk/android-release-unsigned.apk aliasname

然后做zipalign

zipalign -v 4 ./app/platforms/android/build/outputs/apk/android-release-unsigned.apk android-signed-release.apk

這個過程一直持續到最近。 現在,我從Play商店收到此錯誤。

“您上傳了以調試模式簽名的APK或Android應用程序捆綁包。”

我確定我已經簽名並且apk處於發布模式(由文件名android-release-unsigned.apk給出)。 請幫忙。

而不是手動進行構建以釋放生產。 您可以通過這種方式進行。

  1. 創建一個名為“ release-signing.properties ”的新文件,並粘貼以下幾行(用storePassword,keyPassword,keyAlias替換)

     target=android-26 android.library.reference.1=CordovaLib storePassword=yourstorePassword keyPassword=yourkeyPassword keyAlias=yourkeyAlias storeFile=../../resources/keystore.jks 
  2. 將密鑰庫文件放在以下路徑中

     /YourProject/resources/keystore.jks 
  3. 將文件“ release-signing.properties”放在以下路徑中

     /YourProject/platforms/android/release-signing.properties 
  4. 跑:

     ionic cordova build android 
  5. 接着:

     ionic cordova build android --prod --release 

您可以通過以下路徑獲得生產版本(您可以使用此版本在Google Play商店中使用)

/YourProject/platforms/android/build/outputs/apk/android-release.apk

Play商店的支票最近收緊了一些。 要檢查調試證書,Play商店會查看您的證書並檢查其中是否有"CN=Android Debug" 您可以自己檢查,使用類似以下的命令:

keytool -list -v -keystore keystore.jks

暫無
暫無

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

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