问题标签 [android-signing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1525 浏览

android - Google Play App Signing - 如何验证本地密钥库是否正确?

我在 Google Play Console 中发布了一个 aab 格式的应用程序。如何验证本地密钥库是否与 Google Play 控制台上上传的密钥库正确?

这个对吗?Google Play Console > 发布管理 > 应用签名 > 上传证书 有 3 个证书指纹:MD5、SHA-1 和 SHA-256。

它们都与本地密钥库文件的指纹匹配。本地密钥库是否正确?

如果是,我不知道为什么我不能更新我的应用程序。PlayStore 中发布的版本代码为3. 所有三个工件1 2 3都是 Play Console 中的 aab。在本地,我有:1.apk, 1.aab, 2.apk, 2.aab,3.aab但不是3.apk

测试 1(ok):来自1.apk> 2.apk>的更新4.apk工作。

测试 2(正常):版本3已打开,Beta然后Production从 Play 管理中心下载。通过使用bundletool3.aab> apks > 在新手机上安装 > 更新到本地文件 4.apk 工作。

测试3(失败):新手机>3从Play商店安装>无法更新到4.apk App not installed(我们正在测试的版本)???这怎么可能?

谢谢你。

从 adb 日志更新 2: installd: Couldn't opendir /data/app/vmdl544123587.tmp: No such file or directory Failed to delete /data/app/vmdl1822356369.tmp: No such file or directory

更新 3:apk 文件由signingConfigandroid 块中的字段签名。

更新 4:从另一部手机: installd: Couldn't opendir /data/app/vmdl2014632873.tmp: No such file or directory Failed to delete /data/app/vmdl2014632873.tmp: No such file or directory

0 投票
2 回答
707 浏览

android - 使用 Google Play 应用签名 - 如何进行更新版本测试

请纠正我!!

我在这篇文章中读到:https: //support.google.com/googleplay/android-developer/answer/7384423

应用签名密钥 (1) - 由 Google 管理,不可访问

上传密钥 (2) - 由我们管理

(1) 可以与 (2) 不同

我们如何获得(1)用于在本地登录?

我需要测试从当前版本(PlayStore 上用 1 签名的最新版本)到新版本 N+1 的更新。但是由于我不能拥有(1),我如何签署我的应用程序以进行本地测试?

谢谢你。

0 投票
3 回答
3091 浏览

android - 无法在 Android 上为 Azure AD 创建 SingleAccountPublicClientApplication

根据https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-android上的说明,我使用 KeyTool 生成了开发签名哈希并在 Azure 门户中注册了我的应用程序。

门户生成 MSAL 配置,然后我将其粘贴到项目中的 res.raw.auth_config.json 中(my-app-client-id 和 my-app 的包名称只是下面示例中的占位符;实际值由自动生成天蓝色):

然后我将以下内容添加到 AndroidManifest.xml:

在我的活动的 onCreate() 中,我尝试创建一个单一帐户客户端应用程序,如下所示:

不幸的是, PublicClientApplication.createSingleAccountPublicClientApplication()调用使应用程序崩溃,并出现以下错误:

java.lang.IllegalStateException:配置文件中的重定向 URI 与使用包名和签名哈希生成的不匹配。请验证配置文件中的 uri 和 Azure 门户中的应用注册。

我无法弄清楚为什么会发生这种情况,因为配置文件的内容是由 Azure 门户生成的,并且包名称、签名哈希和重定向 URI 与门户中显示的内容相匹配。

我会很感激任何建议。

0 投票
1 回答
544 浏览

android - Android 的 /data/system/packages.xml 证书数据

Android 的 /data/system/packages.xml 包含一个具有“key”属性的证书节点。该关键属性数据串是如何生成的?例如:

0 投票
0 回答
56 浏览

android - 有没有办法使 Android 签名密钥失效?

现在,有了上传密钥的新功能,开发人员可以在密钥以某种方式暴露时使其无效。

但是,如果在您迁移上传密钥之前,有人可能拿到了您的签名密钥,该怎么办。他们是否能够冒充您并以您的名义上传应用程序?或者当您迁移到使用上传密钥时,签名密钥是否会自动失效?

如果没有,还有其他方法可以使旧的签名密钥失效吗?

0 投票
1 回答
25 浏览

android - 为什么在生成签名的 APK 版本后,我在开发过程中仍会收到 INSTALL_PARSE_FAILED_NO_CERTIFICATES?

我的问题:

在创建必要的密钥库、密钥并签署我的应用程序后,我仍然收到INSTALL_PARSE_FAILED_NO_CERTIFICATES错误。此错误最初是在将minSdkVersion版本更新为 24 以获得所需功能后发生的,但在完成解决后仍会发生。我不确定为什么。

我做了什么:

我已按照向导程序(请参阅下面的链接)创建我目前正在开发的应用程序的签名版本、创建密钥库、密钥、密码、签署应用程序等。我在这里阅读了许多帖子,但没有似乎专门解决了我的问题-到目前为止我发现了。只有如何解决错误的最初原因——没有签名的应用程序。

我没有做的是 Google Play 应用签名。在我准备将应用程序移到那里之前,我认为这是不必要的,而且我实际上可能永远不会在那里提供它。

任何想法或帮助将不胜感激,因为在我解决此问题之前,我的应用程序开发现在已经陷入困境。

我遵循了这里的所有步骤:

https://developer.android.com/studio/publish/app-signing - 步骤 1 和 2 特定于签署您的应用程序。

https://www.jetbrains.com/help/idea/extracting-a-signed-android-package.html

0 投票
1 回答
932 浏览

android - 通过 Android Studio 生成的 Android APK 缺少 MANIFEST.MF 文件

我有一个使用 android studio 3.6.1 的 android 项目。当我从 Android Studio 生成 apk 时,生成的 APK 文件缺少 META-INF/MANIFEST.MF 文件。但是,当我通过控制台构建 apk 时,一切正常。

我不确定 build.gradle 中的哪些设置控制该文件的创建以及创建时间。在这方面的任何帮助将不胜感激。

按照我的 build.gradle 文件

0 投票
1 回答
1326 浏览

android - 如何生成不同的调试 sha1-key

我有一个用于调试的 sha1 密钥,我从 android studio 中的 signinreports 获得。现在,我在多个 Firebase 项目中都有这个密钥,我想为这个项目生成另一个调试密钥。

如何为现有项目生成另一个调试密钥并将其分配给该项目?

我试过了

但是输出与其他项目相同的调试密钥

0 投票
1 回答
65 浏览

android - 如何为 Generate Signed Bundle / APK 操作运行单元测试

如何在 Android Studio 中使用“Build -> Generate Signed Bundle”操作签署包之前自动运行单元测试?

0 投票
1 回答
287 浏览

android - 显示错误:从 android 中的任务运行签名报告时缺少密钥库

在生成签名构建中给出密钥库的位置后。然后从 gradle > task > signingreport 生成它在日志中显示错误