【发布时间】:2021-04-26 20:46:46
【问题描述】:
我使用以下行构建我的应用程序
ionic cordova build android --prod --release
这将创建一个“app-release-unsigned.apk”文件。我有一个 'keystore.jks' 文件可用,尽管我到处都能找到人们谈论 .keystore 文件,但我认为这是我需要签署的文件。
我尝试过的事情如下:
1。使用 build.json 文件构建
ionic cordova build android --prod --release --BuildConfig=build.json
Json 内容:
{
"android":
{
"release":
{
"keystore": "keystore.jks",
"storePassword": "************", // Filled in password
"password" : "************", // Filled in password
"alias" : "**" // Also tried removing this line, didn't make any difference
}
}
}
问题:构建仍然未签名。 (我也尝试使用选项 2 解决此问题)
2。使用 jarsigner 命令签署 apk
我尝试在我的应用程序的根目录执行以下命令,其中也放置了密钥库文件。
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keystore.jks platforms/android/app/build/release/apk/app-release-unsigned.apk bp
问题:在这个命令之后,它要求Enter Passphrase for keystore。我尝试填写我的密码和存储密码,但随后出现错误jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect
我还尝试使用 keypass 和 storepass 作为标志运行 jarsigner 命令,但这也没有用。 我很确定我的密码是正确的。
最后我看到您可以使用 Android Studio 来构建生成的 APK。在 Android Studio 构建菜单中,只有这个选项对我不可用。我正在使用 SDK Api 级别 28。
TL;DR:无法构建签名应用,不知道原因。
【问题讨论】:
-
试试
ionic cordova build android --prod --release --buildConfig build.json --verbose -
@Yatinpatel 它构建并且我在我的
platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk文件夹中获得了一个 APK。虽然它仍然没有签名..
标签: android angular macos cordova ionic-framework