启用Google App Signing后,每当我尝试将已签名的版本APK上传到Play商店时,我都会收到错误消息,说明无法解析上传的APK的AndroidManifest.xml.编译得当吗?.
以下是使用APK分析工具从已签名的APK获取的Android清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="227"
android:versionName="4.9"
package="com.myproject">
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="25" />
<uses-permission
android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission
android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.WAKE_LOCK" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.VIBRATE" />
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission
android:name="android.permission.MANAGE_USERS" />
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission
android:name="com.android.vending.BILLING" />
<permission
android:name="com.myproject.permission.C2D_MESSAGE"
android:protectionLevel="0x2" />
<uses-permission
android:name="com.myproject.permission.C2D_MESSAGE" />
<application
android:theme="@ref/0x7f10013f"
android:label="@ref/0x7f0f004f"
android:icon="@ref/0x7f08005a"
android:name="br.com.regmoraes.myproject.CustomApp"
android:allowBackup="true"
android:largeHeap="true"
android:supportsRtl="true">
<meta-data
android:name="search-engine"
android:resource="@ref/0x7f120001" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@ref/0x7f0a0006" />
<meta-data
android:name="com.mixpanel.android.MPConfig.ResourcePackageName"
android:value="br.com.regmoraes.myproject" />
<meta-data
android:name="AA_MODELS" …Run Code Online (Sandbox Code Playgroud) android android-manifest apk google-play android-app-signing
我的 Android 应用程序已经在 Google 开发人员控制台上有一个 SHA1 指纹,该指纹由另一位开发人员一段时间前生成。现在,我正在调试应用程序中的 Google Sign-in 错误,结果发现 Google Sign in 使用.android/debug.keystore在 OAuth 身份验证过程中找到的默认 SHA-1发出请求。我昨天生成了一个新的调试密钥,因为毕竟它是调试。
如何将这个新的调试密钥添加或合并到 Google 的开发者控制台以成功登录请求?(我不想替换旧密钥)
我得到的输出:
错误:空
从命令(在命令行执行)中:
java -jar pepk.jar --keystore = my.keystore --alias = x --output = my.output --encryptionkey = 1243
任何人知道为什么或如何解决它吗?
“ my.keystore”文件存在并且是密钥库。别名正确,并且“ my.output”文件不存在。我在上面的示例中更改了cryptokey的值,但是无论我使用什么值,我总是得到相同的输出。
我尝试用双引号引用密钥库和输出值,并提供(带引号)密钥库文件和输出文件的完整路径。错误输出仍然相同。正在执行jar,因为如果缺少某些内容,我会显示使用帮助。我还尝试过在其他目录中运行该命令,并确保输出目录中的权限正确。
我正在使用Java版本:
Java版本“ 9” Java™SE运行时环境(内部版本9 + 181)Java HotSpot(TM)64位服务器VM(内部版本9 + 181,混合模式)
在Windows 10上(我尝试使用/和路径)。pepk.jar是在我的应用从Play商店的“应用签名”页面发布此问题的当天下载的。
按照Pierre的建议下载新版本的pepk.jar后,现在输出为:
Error: Unable to export or encrypt the private key
java.lang.NullPointerException
at com.google.wireless.android.vending.developer.signing.tools.extern.export.KeystoreHelper.loadKeystore(KeystoreHelper.java:45)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.KeystoreHelper.getPrivateKey(KeystoreHelper.java:38)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:114)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:79)
Run Code Online (Sandbox Code Playgroud)
我已经通过使用keytool -list -v -keystore仔细检查了密钥库,它包含一个私钥。
我正在尝试在 Play 控制台上的现有应用程序中唱歌。我必须生成一个应用程序签名密钥,并且为此播放控制台为我提供了一个 PEPK.jar 文件。现在有四个参数(密钥库、别名、输出、加密密钥)来运行命令并生成应用程序签名密钥文件。我确实理解前 3 个参数(密钥库、别名、输出),但我在使用第四个参数“加密密钥”时遇到了问题。因此需要建议可能的加密密钥是什么?
$ java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=encrypted_private_key_path --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27 558a3eb9d2a529a2092761fb833b656cd48b9de6a
使用应用程序捆绑包和 Play 应用程序签名是目前 Google 推荐的在 Google Play 上部署新应用程序的方式。从 2021 年 8 月开始,新应用程序将强力使用这些格式。
如何在 Unity 中进行设置,以及如何在 Google Play 中配置应用程序?
android unity-game-engine google-play android-app-signing google-play-console
规格:
我正在尝试使用 apksigner 签署 apk。我在 Android Studio 终端中使用此命令
apksigner sign --ks release.jks app.apk
Run Code Online (Sandbox Code Playgroud)
我正在遵循官方文档,但收到此错误
bash: apksigner: command not found
Run Code Online (Sandbox Code Playgroud)
当我进一步挖掘时,我发现 Android/sdk/cmdline-tools/7.0/bin 没有 apksigner,它有以下命令行工具
我在这里缺少什么?我尝试下载cmdline-tools/6.0,3.0但没有看到 apksigner。
我丢失了上传密钥,该密钥是在 Google Play 管理中心上传 Android APK 文件所需的。尝试使用新钥匙,但由于指纹不匹配,因此不起作用。
但是,我启用了 Google 的“应用程序签名”。因此,我希望不要取消发布该应用程序并在 Google Play Console 上执行整个“创建应用程序”过程。
我该如何解决这个问题?
我计划将一个全新的应用程序上传到 Google Play 商店。
我已按照此链接生成 .aab 文件。 https://developer.android.com/studio/publish/app-signing#sign_release
生成.pepk、KeyStore、.aab 文件。
现在,我在 Google Play Console 中选择了第一个选项(“让 Google 管理和保护您的应用签名密钥”)进行应用签名,并上传了 .aab 文件。
我不确定这是否是上传 .aab 文件的正确方法,因为它从未要求我上传 .pepk 文件。但是 .aab 文件已成功上传。
我想如果我选择“让 Google 管理和保护您的应用程序签名密钥”选项,我不需要从 Android Studio 生成 .pepk 文件
那么以后我需要使用 .pepk 和 .keystore 文件来签署 .aab 文件吗?如果我失去两者中的任何一个或两者都会发生什么?
android android-keystore android-app-signing google-play-console