如何在使用 adt 编译 Adobe AIR 应用程序时防止出现“Warning: failure in signing Android apk”错误

问题描述 投票:0回答:0

我正在使用 Harman 的最新 AIRSDK 50.2.2.5 编译一个专属 APK,我收到消息“警告:签署 Android apk 失败”。

我的 .p12 文件是在 2012 年从 Animate 创建的,但它始终适用于旧版本的 Adobe AIR。奇怪的是,如果我从 Animate 创建一个新的 .p12,编译会顺利进行,没有“签名失败”消息,但生成的 APK 无法作为更新上传到 Play 商店,因为它说证书用于签名 APK 不同,所以我无法将应用程序作为更新上传。

那么,在使用我的旧 .p12 证书时,如何解决“无法签署 Android apk”的问题?我已经在“Keystore Explorer”工具中打开了,上面写着2036-05-17过期,所以这个证书还有很多时间可以使用

我看到的唯一区别是 Keystore Explorer 说新的 .p12 证书有效(但对应用程序更新无用)具有 2048 密钥大小,而旧的 .p12 具有 1024 密钥大小。因为我注意到了这种差异,所以我试着对此进行了一些研究,并从 Adobe 找到了这篇文章:

https://helpx.adobe.com/mt/x-productkb/multi/rsa1024-certificate-issue-with-adt-tool.html

它表示在使用 Java 8 及更高版本的计算机上“使用 RSA-1024 证书打包 Android 应用程序失败”。它建议的唯一解决方案是降级到 Java 7 或 6。我尝试将 Java 7 与 adt 一起使用(通过在 adt.cfg 中配置它),但随后我收到以下消息:

“警告:找不到适合 v11+ JDK 的 Java Home 位置

警告:找不到适合 v8+ JDK 的 Java Home 位置”

所以我不能使用 Java 7 或更低版本,因为 ADT 会寻找更新的版本,但我不能使用 Java 8 或更高版本,因为它无法使用 RSA-1024 .p12 证书。

我还尝试在 ... 块中添加 true 标志。但随后我收到另一条错误消息:

“SDK 缺少文件 /Users/myuser/AndroidSDK/build-tools/33.0.2/lib/dx.jar”

在研究此错误消息后,我发现一个可能的解决方案是创建 d8 和 d8.jar 的副本并将它们命名为“dx”和“dx.jar”。但是这样做会产生另一个错误信息:

“dx 工具失败:/Users/myuser/AndroidSDK/build-tools/33.0.2/lib/dx.jar 中没有主要清单属性”

所以在浪费了很多时间之后,我被难住了。我应该怎么做才能再次使用我的旧证书发布应用程序更新?必须有一些我找不到的解决方案。

certificate air adobe p12 harman
© www.soinside.com 2019 - 2024. All rights reserved.