将密钥库从 Xamarin 导入 Android Studio

亚西尔·加法尔

我在 Visual Studio 上使用 Xamarin 平台创建了一个 Android 项目并将其上传到应用商店。但是现在由于某些原因我必须为同一个应用程序切换到 Android Studio,我已经在 Xamarin 上有了密钥库。如何在我的 Android 项目中导入密钥库。

阿维克西兹

视窗

对于调试版本

找到用于对应用进行签名的 Xamarin debug.keystore 文件。默认情况下,可以在以下位置找到用于对 Xamarin.Android 应用程序的调试版本进行签名的密钥库:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\debug.keystore

通过从 JDK 运行 keytool.exe 命令获取有关密钥库的信息。此工具通常位于以下位置:

C:\Program Files (x86)\Java\jdkVERSION\bin\keytool.exe

将包含 keytool.exe 的目录添加到 PATH 环境变量中。打开命令提示符并使用以下命令运行 keytool.exe:

keytool.exe -list -v -keystore "%LocalAppData%\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

运行时,keytool.exe 应输出以下文本。MD5: 和 SHA1: 标签标识各自的签名:

Alias name: androiddebugkey
Creation date: Aug 19, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 53f3b126
Valid from: Tue Aug 19 13:18:46 PDT 2014 until: Sun Nov 15 12:18:46 PST 2043
Certificate fingerprints:
         MD5:  27:78:7C:31:64:C2:79:C6:ED:E5:80:51:33:9C:03:57
         SHA1: 00:E5:8B:DA:29:49:9D:FC:1D:DA:E7:EE:EE:1A:8A:C7:85:E7:31:23
         SHA256: 21:0D:73:90:1D:D6:3D:AB:4C:80:4E:C4:A9:CB:97:FF:34:DD:B4:42:FC:
08:13:E0:49:51:65:A6:7C:7C:90:45
         Signature algorithm name: SHA1withRSA
         Version: 3

对于发布/自定义签名版本

使用自定义 .keystore 文件签名的发布版本的过程与上述相同,发布 .keystore 文件替换 Xamarin.Android 使用的 debug.keystore 文件。替换您自己的密钥库密码值和创建发布密钥库文件时的别名。

使用 Visual Studio 分发向导对 Xamarin.Android 应用进行签名时,生成的密钥库位于以下位置:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\alias\alias.keystore

例如,如果您按照创建新证书中的步骤创建新的签名密钥,则生成的示例密钥库位于以下位置:

C:\Users\USERNAME\AppData\Local\Xamarin\Mono for Android\chimp\chimp.keystore

有关签署 Xamarin.Android 应用程序的详细信息,请参阅签署 Android 应用程序包

单击此处获取完整参考

从 Xamarin 获得密钥库后,您只需按照这些说明导入即可。

这是在您的 Gradle 构建文件中指定的,将密钥库文件复制到您的 Android Studio 项目结构中,我选择在名为 keystores 的应用程序下创建一个新目录:/app/keystores/release.keystore

signingConfigs {
    debug {
        storeFile file('keystores/debug.keystore')
    }
    release {
        storeFile file('keystores/release.keystore')
        keyAlias ...
        storePassword ...
        keyPassword ...
    }
}
buildTypes {
    debug {
        signingConfig signingConfigs.debug
        debuggable true
    }
    release {
        signingConfig signingConfigs.release
        debuggable false
    }
}

在此处查看有关如何导入密钥库的其他答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章