标签: android-app-signing

我们可以为两个不同的 Android 应用程序使用相同的签名密钥吗?

是否可以使用单个签名密钥签署两个不同的应用程序以发布到 Google PlayStore?

有什么问题吗?有什么问题吗?这是好还是坏的做法?

提前致谢!

android android-app-signing

3
推荐指数
1
解决办法
1085
查看次数

在 Google Play 管理中心中对多个应用使用相同的上传证书

我正在为我的第一个应用程序使用 Google Play 的应用程序签名。我使用新的签名证书创建了一个新应用程序,但我想使用相同的上传证书。是否可以对 Google Play Console 中的多个应用使用相同的上传证书?如果是这样,这是一个好的做法吗?存在哪些潜在问题?

android android-app-signing google-play-console

3
推荐指数
1
解决办法
1434
查看次数

将签名信息添加到 gradle 中的 apk 文件名

就我而言,旧的 apk 文件名包含未对齐和未签名的签名信息。使用以下方法在模块 gradle 文件中重命名这些旧文件名:

 applicationVariants.all { variant ->
    variant.outputs.each { output ->
        output.outputFile = new File(
                output.outputFile.parent,
                output.outputFile.name.replace(".apk", "-${variant.versionCode}-${variant.versionName}.apk"))
    }
}
Run Code Online (Sandbox Code Playgroud)

版本代码和版本名称设置如下:

versionCode buildNumber()
versionName "${versionMajor}.${versionMinor}"
Run Code Online (Sandbox Code Playgroud)

在此重命名的结果中,签名信息(未对齐或未签名)位于变体版本代码之前。

现在我使用的是 gradle:3.0.0-beta6。因此我无法再使用旧方法,因为outputFile 更改为只读并且无法重命名。现在我尝试向我的 gradle 添加一个新的重命名方法,如下所示:

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${archivesBaseName}-${variant.baseName}-${variant.versionCode}-${variant.versionName}.apk"
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,新的 apk 名称几乎看起来像旧的,但在 baseName 和 versionCode 之间缺少签名信息。该应用程序尚未签名,因此应该有未签名的信息。

有谁知道我如何能够在不进行硬编码的情况下添加此信息?

如果应用程序被签名,此信息应该消失,但如果可能的话,无需更改重命名方法。

android android-studio android-gradle-plugin android-app-signing

2
推荐指数
1
解决办法
523
查看次数

Google Play 应用签名和免安装应用

相当直接的问题。有谁知道 Google Play App Signing 是否支持 Instant Apps?我问的原因:

输入您的应用程序的签名配置,或选择一个密钥库文件。虽然可以在测试期间使用调试配置或密钥库,但生成的数字资产链接文件将与您的应用程序的发布版本不兼容。如果您确实上传了使用调试配置或密钥库的数字资产链接文件,则在发布应用程序之前,您需要生成并上传使用应用程序发布密钥的新数字资产链接。

来自博客文章:-如何创建即时应用功能

如果此声明属实,播放控制台是否提供了生成assetlinks.json? 这是您必须在声称附属的域上托管的文件。

android google-play android-app-signing android-instant-apps

2
推荐指数
1
解决办法
821
查看次数

Google Play 应用签名流程证书

我试图通过 Play App Signing 了解签名过程。因此有几个问题。

  1. 我正在使用谷歌地图 API,为什么我需要在控制台上添加应用签名密钥证书的 SHA-1 证书指纹?为什么我不能使用在我的电脑本地生成的那个 SHA 1?
  2. 我需要对我从发布中生成的 provate_key.pepk 做什么?
  3. deployment_cert.der 的目的是什么?
  4. upload_cert.der 的目的是什么?

你能解释一下签署应用程序的正确过程以及如何使用它吗?

还有这里

现有应用程序->步骤 2->5 Syas:选择最适合您的发布过程的导出和上传选项并上传现有的应用程序签名密钥。

我没有看到上传现有应用签名密钥的选项...

android google-play android-app-signing

2
推荐指数
1
解决办法
441
查看次数

错误:必须使用PEPK工具指定--alias

所以我试图注册一个新的App登录以发布一个新的应用程序,当我输入以下命令时出现以下错误

java -jar“ /path/to/pepk.jar” --keystore =“ / path / to / key_prod.keystore” --alias =“ myAlias” --encryptionkey =“ 1230928312431093randomkey1231238u981y8u23” --output =“ / path / to /private_key.pem”

错误:

错误:必须指定--alias
用法:
java -jar pepk.jar --keystore <release_keystore> --alias <key_alias> --encryptionkey = <加密密钥_hex> --output = <输出文件>

我的语法可以吗?我不明白为什么它说未指定我的别名。

谢谢!

android android-keystore android-app-signing

1
推荐指数
1
解决办法
1035
查看次数

签名的Android应用程序崩溃

我想在市场上发布我的应用程序.但在我签署我的apk并安装它后,我甚至在加载活动之前就崩溃了.我在logCat中找到了以下错误

03-24 14:57:03.080: E/AndroidRuntime(4310): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.golfboxdk/com.golfboxdk.LoginActivity}: 
java.lang.ClassNotFoundException: Didn't find class "com.golfboxdk.LoginActivity" on path: DexPathList[[zip file "/data/app/com.golfboxdk-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.golfboxdk-1, /vendor/lib, /system/lib]]
Run Code Online (Sandbox Code Playgroud)

我检查了我的清单,我真的无法弄清楚什么是错的.当我使用未签名的apk时,我的应用程序运行顺利.

这是我的清单的开始

package="com.golfboxdk"
android:versionCode="5"
android:versionName="1.7.2" >

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<application
    android:name="com.golfboxdk.utils.GolfBoxApplication"
    android:allowBackup="false"
    android:icon="@drawable/app_icon"
    android:killAfterRestore="true"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Light.NoTitleBar" >
    <activity
        android:name="com.golfboxdk.LoginActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait" >

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
Run Code Online (Sandbox Code Playgroud)

我已经尝试过的事情:在 - > Project-> Properties-> java Build path-> Order and …

eclipse android apk android-app-signing

0
推荐指数
1
解决办法
1241
查看次数

更新到Android Studio 4.2,尝试生成Signed Bundle / APK。“无法从密钥库读取密钥”和“鉴于最终块未正确填充”。

我正在尝试再次发布我的 Android Studio 应用程序。我刚刚更新了 Android studio,当然,它会自动忘记发布应用程序的任何旧密钥和密码。不过,我已经单独存储了密码,因此当我再次输入密码时,我知道它们是正确的。

我还尝试使用我的密钥库密码直接在 Mac 上打开我的密钥库文件,并且它有效,因此它也确认了密钥库密码是正确的。

我还尝试从头开始卸载并重新安装 Android Studio。

另外,当我尝试仅生成 APK 或仅生成“签名包”时,一切正常。仅当我选择“签名包/apk”时才会发生这种情况

我尝试复制粘贴正确的密码并输入它们。但是,一旦我输入正确的密钥密码和密钥存储密码,它总是给我同样的错误。它说:

任务“:app:signReleaseBundle”执行失败。执行 com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable 时发生故障无法从存储“/Users/blabla/Desktop/blabla/appkeys/keystore.jks”读取密钥 myKey:

获取密钥失败:给定的最后一个块未正确填充。如果在解密过程中使用错误的密钥,可能会出现此类问题。

当我尝试按照 Android Studio 的建议使用完整堆栈跟踪 (--stacktrace) 运行它时,它会以零错误完成运行。

如何解决此问题并再次发布我的应用程序?

launching-application android-studio android-gradle-plugin android-app-signing

0
推荐指数
1
解决办法
771
查看次数

将我的项目 key.properties 和 .jks 文件保留在 Github 中

我想将我的项目 key.properties 和 .jks 文件保留在 GitHub 中,但是每当我在生成这些文件后提交时,这些文件都不会提交。

我知道将这些文件保留在 GitHub 上可能有风险,但我的存储库是私有的,只有我的拼贴可以访问它们。

因此,我想将这些文件保留在我的 GitHub 存储库中。

任何有关这方面的帮助将不胜感激。

github flutter android-app-signing

0
推荐指数
1
解决办法
2335
查看次数

keytool错误:java.io.FileNotFoundException:c:\ Users \ USER_NAME \ upload-keystore.jks(系统找不到指定的路径)

[Storing c:\Users\USER_NAME\upload-keystore.jks] keytool error: java.io.FileNotFoundException: c:\Users\USER_NAME\upload-keystore.jks (The system cannot find the path specified) java.io.FileNotFoundException: c:\Users\USER_NAME\upload-keystore.jks (The system cannot find the path specified) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:123) at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1360) at java.base/sun.security.tools.keytool.Main.run(Main.java:415) at java.base/sun.security.tools.keytool.Main.main(Main.java:408)
Run Code Online (Sandbox Code Playgroud)

keytool android-keystore android-app-signing

0
推荐指数
1
解决办法
7449
查看次数