首页 文章

为什么Ionic 3 apk版本使用'--prod --release android'给出了在调试模式下apk签名的Google Playstore错误?

提问于
浏览
1

我的Ionic 3应用程序版本不再被Play商店接受 . 我确信证书和签名过程没有任何问题 . 我以前做过几次发布,最后一次发布于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 App Bundle . ”

我确定我已签名并且apk处于发布模式(由文件名android-release-unsigned.apk给出) . 请帮忙 .

2 回答

  • 0

    Play商店的支票最近变得更紧了 . 要检查调试证书,Play商店会查看您的证书并检查其中是否有 "CN=Android Debug" . 您可以自己检查,使用如下命令:

    keytool -list -v -keystore keystore.jks
    
  • 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
    
    • 将密钥库文件放在以下路径中
    /YourProject/resources/keystore.jks
    
    • 将文件“release-signing.properties”放在以下路径中
    /YourProject/platforms/android/release-signing.properties
    
    • 运行:
    ionic cordova build android
    
    • 然后:
    ionic cordova build android --prod --release
    

    您可以在以下路径中获得 生产环境 构建(您可以将此构建用于Google Play商店)

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

相关问题