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、使用ES编辑器或者类似的工具将qq2011的apk打开;
2、访问res文件夹,在找到raw文件夹打开;
3、替换其中的msg信息提示音文件,如替换成悦耳的鸟鸣;
4、打开meta-inf文件夹,将其中的manifestmf保留,其他文件全部删除;
5、运行这款软件,点击“输入”按钮,选择刚才修改过的文件;
6、在已签名输出框填写希望的名字;
7、“签名文件”后即可安装自己修改过的qq啦,注意,必须先卸载原版,否则可能安装失败。
谢谢!
1签名的步骤
a创建key
b使用步骤a中产生的key对apk签名
2具体操作
方法一: 命令行下对apk签名(原理)
创建key,需要用到keytoolexe (位于jdk160_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsignerexe (位于jdk160_24\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入
D:\>keytool -genkey -alias demokeystore -keyalg RSA -validity 40000 -keystore demokeystore
/说明:-genkey 产生密钥
-alias demokeystore 别名 demokeystore
-keyalg RSA 使用RSA算法对签名加密
-validity 40000 有效期限4000天
-keystore demokeystore /
D:\>jarsigner -verbose -keystore demokeystore -signedjar demo_signedapk demoapk demokeystore
/说明:-verbose 输出签名的详细信息
-keystore demokeystore 密钥库位置
-signedjar demor_signedapk demoapk demokeystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demoapk和密钥库demokeystore/
注意事项:android工程的bin目录下的demoapk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。
方法二:使用Eclipse导出带签名的apk
Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:
第一步:导出。
第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到。
第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息。
第四步:生成带签名的apk文件,到此就结束了。
第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。
第六步:Next,Next,结束!
方法三:使用IntelliJ IDEA导出带签名的apk
方法步骤基本和Eclipse相同,大概操作路径是:菜单Tools->Andrdoid->Export signed apk。
两种方式,一种开发工具eclipse,还有就是用apktool工具。I、只要Run As Android Application 过,到工作目录的bin文件夹下就能找到与项目同名的apk文件。II、 A选中项目,右键=》Andoid Tools=》Export Unsigned Application Package,直接保存,未签名的。 B选中项目,右键=》Andoid Tools=》Export Signed Application Package,后面一步步的去做,签过名的。 APK签名主要有两种:1 使用特殊的key签名可以获取到一些不同的权限。2 APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。
欢迎分享,转载请注明来源:品搜搜测评网