apk是安卓应用软件包,apk签名是软件包在安装的时候进行的安全性验证机制。
这种签名机制目的是为了确保Apk来源的真实性,以及Apk没有被第三方篡改。开发者通过对Apk进行签名:在Apk中写入一个“指纹”。指纹写入以后,Apk中有任何修改,都会导致这个指纹无效,Android系统在安装Apk进行签名校验时就会不通过,从而保证了安全性。
扩展资料:
1、APK的格式定义
在Android平台中,dalvikvm的执行文件被打包为apk格式,最终运行时加载器会解压,然后获取编译后的androidmanifestxml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下,会发现执行是不受限制的。安装的文件可能不是这个文件夹,而在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有着root权限。
2、APK的开发环境
Android是一个基于Java的开发环境,Google也在API文档的书写和样例的提供上做了很出色的工作。
3、获取SDK
下载并安装android的SDK[软件开发套件],这套SDK主要包括有核心库文件,一个模拟器,开发工具和一些示范的样例文件。推荐使用Eclipse 和androideclipse 扩展。如果只是使用android,Eclipse IDE就已经足够了,但如果是第一次开发Java应用,建议下载完整的Java SE 开发工具 (JDK) 因为它包括签发应用程序所需要的工具。
4、APK应用架构
android应用架构很关键,如果不学习它,设计出来的游戏将是一种很难修复bug的产品。 需要了解应用程序、活动、Intents以及它们是如何互相联系交互的,Google在这儿提供了良好的信息架构。真正重要的是,要理解为什么在设计的游戏中,需要不止一个的活动进程,以及如何设计一个用户体验良好的游戏。这些都应当配合到应用的生命周期中。
5、APK应用的生命周期
应用的生命周期是由Android OS *** 作系统进行管理的,活动进程都将作为系统命令进行创建,正确处理这些事件对一个应用程序来说是极为重要的,因为终端用户不会知道什么是正确的。最好在开始设计游戏之前搞明白这些,因为这有助于节省调试时间以及避免代价高昂的重新设计。
对大多数应用而言,默认设置即可开始工作,但对游戏而言,可能需要调整单态实例的信号为打开。在默认情况下,Android会新建一个活动实例进程,因为它认为这是比较合适的,而游戏,可能只希望有一个活动的实例进程,这有一点儿影响,它需要了解一些系统状态的管理。
参考资料来源:百度百科-apk
参考资料来源:百度百科-android软件开发
1通过apktool工具解压当前apk(比如:demoapk),解压后,会生成CERTRSA文件
apktool d demoapk
备注:通过这种方式解压出来的Androidmenifestxml文件可以通过文件编辑器打开查看;
2通过keytool命令获取签名信息
keytool -printcert -file C:\Android\soft\apktool\demo\original\META-INF\CERTRSA所有者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn
发布者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn
序列号: 12893889
有效期开始日期:
证书指纹:
MD5: 1A:0F:52:94:8D:DB:7A:E9:7A:7E:A5:3B:A3:A7:F9:39
SHA1: 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2
SHA256: BF:FB:9C:67:E1:7B:49:26:4A:D9:84:9D:48:DA:C1:4F:00:77:74:15:27:90:95:D0:B3:D8:0A:EA:2F:81:F1:B9
签名算法名称: SHA256withRSA
版本: 3
扩展:
#1: ObjectId: 252914 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: C3 D6 E3 9F C3 F3 1E BE 6E F9 BC 35 6F 8B 21 52 n5o!R
0010: 12 38 AD BC 8
]
]
3查看mykeystore签名文件的签名信息
keytool -list -keystore C:\Android\workspace\mykeystore
输入密钥库口令:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
my, 2016-6-15, PrivateKeyEntry,
证书指纹 (SHA1): 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2
使用keytool -genkey命令生成证书:
回车后会提示:
以上命令运行完成后就会生成证书,路径为“D:\testkeystore”。
注意:上述信息填写要规范,乱填有可能会影响应用上架应用市场。
可以使用以下命令查看:
会输出以下格式信息:
其中证书指纹信息(Certificate fingerprints):
MD5
证书的MD5指纹信息(安全码MD5)
SHA1
证书的SHA1指纹信息(安全码SHA1)
SHA256
证书的SHA256指纹信息(安全码SHA245)
直接通过一个apk,获取安装到手机的第三方应用签名的apk包。 详情: >
1、打开软件
找到“Build”选项
2、打开生成apk签名的窗口
Build---->Generate Signed APK
3、 选择创建新的密钥
Creata new
4、 选择密钥存储路径,并为密钥命名
填写信息
5、设置密码,填写或更改信息
密码请牢记,密码请牢记,密码请牢记(三遍了)
证书内容貌似可以空白
6、ok,然后,下一步
如果遇到下图的情况,不用担心,继续点击ok
问题解决办法:>
在菜单项的Building中的去通过Sign去签名apk,然后会在这个项目的构建环境的output中生成apk文件。
APK全称为Android application package,Android应用程序包,是Android *** 作系统使用的一种类似Symbian Sis或Sisx应用程序包文件格式,用于分发和安装移动应用及中间件。
格式定义:
APK在Android平台中,dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压,然后获取编译后的androidmanifestxml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下,会发现执行是不受限制的。
安装的文件可能不是这个文件夹,而在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有着root权限。
以上就是关于apk签名是什么意思全部的内容,包括:apk签名是什么意思、如何查看apk和签名文件的签名信息、android 生成签名证书等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)