app开发--Android平台签名证书(.keystore .jks)生成和常见错误总结

app开发后,最后需要打包发布。在Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。下面总结一下。

一:环境安装

安装JRE环境,如已安装可跳过。这里简单说一下步骤就行,不会就自行必应或者百度一下。
1.下载JRE安装程序:
打开Oracle官方网站(https://www.oracle.com/java/technologies/javase-jre8-downloads.html)或其他可信的Java软件分发站点。
2.运行安装程序:
下载完成后,双击安装程序运行。
根据安装程序的指示,选择您希望安装Java JRE的位置和其他选项。通常情况下,您可以选择默认的安装选项。
3.验证安装:
安装完成后,您可以验证Java JRE是否成功安装。
打开命令提示符(Windows用户可以按下Win + R,然后输入"cmd"并按下Enter键)。
输入"java -version"命令并按下Enter键。如果您看到Java JRE的版本信息,则表示安装成功。
4.配置环境变量
打开“我的电脑”,右键点击“属性”,然后点击“高级系统设置”。
点击“环境变量”,在“系统变量”中,找到“Path”变量,并点击“编辑”。
在弹出的“编辑环境变量”窗口中,将JRE的bin目录地址添加到变量值的末尾,用分号隔开。

二:生成签名证书

直接使用keytool -genkey命令生成证书:

keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 36500 -keystore mykeystore.jks -storetype JKS

-genkey表示创建一个新的密钥,-alias mykey 指定了密钥的别名,-keyalg RSA 指定了密钥算法,-keysize 长度,-validity 36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期,-keystore mykeystore.jks 指定了密钥库的文件名,-storetype JKS 指定了密钥库的类型为JKS。
目前不设置密库会自动设置为PKCS12。

回车后会提示:

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  
  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  
  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  
  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  
  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  
  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  
  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //确认上面输入的内容是否正确,输入y,回车  

Enter key password for <testalias>  
        (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

随便填填就行,基本没问题就可以。
令运行完成后就会生成证书。

然后查看密钥库信息:

keytool -list -v -keystore mykeystore.jks

Enter keystore password: //输入密码,回车

如下:
在这里插入图片描述
最后使用即可

三:错误

Google开发者证书信息有误,请重新填写相关信息
解决方案:
一般是密钥库类型错了
若证书已经生成好了,就修改加密类型

keytool -importkeystore -srckeystore ./yourapp.keystore -destkeystore ./yourapp.keystore -deststoretype JKS

或者重新生成
提前指定类型

keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 36500 -keystore mykeystore.jks -storetype JKS
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android 开发中,debug.keystore 是一个默认的调试密钥库,它用于签署 Android 应用程序的调试版本。这个密钥库通常存储在用户的本地计算机上。 debug.keystore 包含一个默认的密钥对,密钥库密码为 "android",密钥密码也为 "android"。当你使用 Android Studio 或者其他的 Android 开发工具来创建一个新的应用程序时,它会自动为你生成 debug.keystore。 在 Android Studio 中,debug.keystore 存储在以下位置: ``` ~/.android/debug.keystore (Linux and macOS) C:\Users\your_user_name\.android\debug.keystore (Windows) ``` 在开发过程中,你可以使用 debug.keystore 来签署你的应用程序,以便在调试和测试时使用。但是,在发布应用程序之前,你应该使用一个真正的密钥库来签署你的应用程序。 要在 Android Studio 中使用 debug.keystore,可以按照以下步骤操作: 1. 在 Gradle 窗口中,单击你的应用程序模块。 2. 单击 "Tasks" -> "android" -> "signingReport"。 3. 在 "Run" 窗口中,你将看到一个输出,其中包含 debug.keystore 的详细信息,如密钥别名、密码、有效期等。 此外,你也可以在构建过程中指定使用 debug.keystore 来签署应用程序。在 build.gradle 文件中,可以按照以下方式指定签署配置: ``` android { signingConfigs { debug { storeFile file('debug.keystore') storePassword 'android' keyAlias 'androiddebugkey' keyPassword 'android' } } buildTypes { debug { signingConfig signingConfigs.debug } } } ``` 这将允许你在构建调试版本时使用 debug.keystore 来签署应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Devil枫

发财小手鼓励一下作者大大

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值