android studio apk 签名文件,Android-0.Android Studio生成签名文件并解决Release下APK is not signed问题...

文章目录

生成签名文件

查看jks文件的指纹证书MD5值

APK is not signed

其他

生成签名文件

Build—Generate Signed Apk…,如下图:

bdb3e69e991d1e252036dd3cd52ed708.png

之后一路next,最后会在你之前选择的存储文件的文件夹中生成一个.jks文件。jks就是java key store的缩写。

这里演示,密码全部使用654321

查看jks文件的指纹证书MD5值

进入到你的.android目录:即AVD所在目录,也就是ANDROID_SDK_HOME这个环境变量所在的目录。格式:

keytool -v -list -keystore .jks所在的路径

G:\Andriod\.android>keytool -v -list -keystore "D:\Program Files\Android\key\hgy413.jks"

输入密钥库口令:

密钥库类型: JKS

密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: hgy413

创建日期: 2018-9-28

条目类型: PrivateKeyEntry

证书链长度: 1

证书[1]:

所有者: CN=hgy413, OU=hgy413, C=cn

发布者: CN=hgy413, OU=hgy413, C=cn

序列号: 16f45539

有效期开始日期: Fri Sep 28 12:21:04 CST 2018, 截止日期: Tue Sep 22 12:21:04 CST 2043

证书指纹:

MD5: 2F:95:E2:2B:2A:E3:E5:CE:7D:51:9F:D0:70:C7:8E:2A

SHA1: B5:E2:CE:B3:5F:B9:D1:B7:44:38:99:55:A1:BF:A6:3F:DE:80:E0:3C

SHA256: DE:48:9E:4A:84:15:B5:2E:3A:61:26:58:E9:F7:F4:FD:92:0A:9B:9A:A8:5D:58:FB:4B:23:3D:80:66:DB:F4:8E

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: AF E9 F4 9B 0A A4 65 23 13 E5 36 73 39 C8 F4 63 ......e#..6s9..c

0010: D9 6B 03 1C .k..

]

]

*******************************************

*******************************************

注意,因为我的jks路径带了空格,所以要双引号括起来。输入密钥时不会显示,输完回车即可。

APK is not signed

release未设置签名时会报以下错误:

the apk for your currently selected variant(app-release-unsigned.apk)is not signed. Please specity a signing configuration for this variant(release)

此时会有以下提示:

513b4882ed1d5def41ee3ea3d6b5677e.png

apk图标会有小红叉,并有Error提示,点击Fix或者File–>Project Structure–>Signing打开下图界面:

点击中间的+号,并输入和前面创建签名一样的信息。

9ac791ede8eb7577e04bd021d6db2e48.png

切换到Build Type,选择release,将Signing Config选择hgy413:

06c28f59eed3b84d4950386d55833e85.png

sync即可。

注意,如果Signing中配置的密码不正确,在真正运行到AVD上时会报错。

另一种添加方式:

比如我们在app/src目录下创建一个叫key的目录,把hgy413.jks拷贝到此目录下,

然后在对应module的build.gradle中android根节点添加:

signingConfigs {

debug {

File strFile = new File("./src/key/hgy413.jks")

storeFile file(strFile)

storePassword "654321"

keyPassword "654321"

keyAlias "hgy413"

// println strFile.absolutePath;

//println strFile.absolutePath;

}

release {

File strFile = new File("./src/key/hgy413.jks")

storeFile file(strFile)

storePassword "654321"

keyPassword "654321"

keyAlias "hgy413"

// println strFile.absolutePath;

}

}

并在同级的buildTypes节点的release下增加:

signingConfig signingConfigs.release

如下图:

eb53250a25555ce9c859d393282a22cf.png

其他

有时设置完这一切后,你会发现还是提示错误:

Could not get unknown property 'hgy413' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.

这时你要留意下,.gradle文件中signingConfigs这个配置块是否在buildTypes前面?,如果不是,就把它调整到前面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,生成签名文件可以按照以下步骤操作: 1. 打开Android Studio并打开您的项目。 2. 点击菜单栏中的“Build”,然后点击“Generate Signed Bundle / APK”。 3. 选择“APK”并单击“Next”。 4. 在下一个屏幕上,选择“Create new”并填写有关您的密钥的详细信息,例如名称,密码,别名和有效期等。 5. 单击“OK”并填写有关您的应用程序的信息,例如版本号和版本名。 6. 单击“Next”并选择“Release”作为构建变体。 7. 单击“Finish”并等待编译完成。 一旦您的应用程序构建成功并生成签名文件,您可以使用以下步骤对其进行反编译、修改、打包和签名: 1. 下载并安装Apktool(可在https://ibotpeaches.github.io/Apktool/上找到)。 2. 将您的APK文件复制到Apktool所在的文件夹中。 3. 打开终端或命令提示符并导航到Apktool文件夹。 4. 输入以下命令以反编译您的APK文件:apktool d your-apk-file.apk 5. 对您的应用程序进行任何修改。 6. 输入以下命令以重新打包您的应用程序:apktool b your-modified-app-folder 7. 使用Java keytool生成新的签名文件。例如,使用以下命令生成新的签名文件:keytool -genkey -v -keystore your-keystore-file.jks -alias your-alias -keyalg RSA -keysize 2048 -validity 10000 8. 使用以下命令将您的应用程序签名:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore your-keystore-file.jks your-modified-apk-file.apk your-alias 9. 安装已签名的APK文件并测试它。 请注意,修改和重新打包应用程序可能会违反某些法律和条款。请确保您有权执行此操作,否则可能会面临法律后果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值