android签名机制2

来源:互联网 发布:电信网络诈骗数额 编辑:程序博客网 时间:2024/06/06 08:43

apk签名有几种方式:

1.源码编译签名

源码下编译的apk,系统会默认签名.

2.命令行签名

1>添加权限

   很多应用会需要提升系统用户组权限,所以要在AndroidManifest.xml文件下添加    

   android:sharedUserId="android.uid.system" 。

2>在Eclipse中导出无签名的应用文件

   在工程中:右键->Android Tools -> Export Unsigned Application Package导出应用

3>找出系统签名密钥

   系统密钥为: platform.pk8和platform.x509.pem

   路径: build\target\product\security 

4>找出系统签名工具  

   工具为:signApk.jar 

   路径:/out/host/linux-x86/framework/ signApk.jar 

 

5>开始签名

  将第2、3、4步找到的无签名应用、platform.pk8、platform.x509.pem和signApk.jar放到同一文件夹下如F:\sign。

  打开 dos 操作界面,定们到F:\sign,输入命令:

  java -jar  signapk.jar  platform.x509.pem  platform.pk8 **.apk   ***.apk 

(**.apk 为未签名应用  ***.apk 为签名之后应用)

笔者实际中做的一般都是系统级应用开发,一般都用这种签名,比较方便,推荐下


3.eclipse签名

eclipse run应用调试时,在/bin/*.apk下生成eclipse默认签名的apk,使用的签名密钥位于
    C:\Documents and Settings\Administrator\.android\debug.keystore.
普通应用可以安装到设备中,但
如果应用要获取系统用户组时,加上了 android:sharedUserId="android.uid.system",
则此种签名的应用则无效。会提示

在后面第3篇文章里有此问题的一种解决方法
android签名机制(3)——如何制作签名

注:测试时可用此种方式直接run应用调试,但是发布时切忌不可用eclipse的默认签名run出的bin/*.apk,原因:
1)eclipse的默认debug签名有效期只有1年,并且不能再android market中上架。
2)debug.keystore在不同的机器上所生成的可能都不一样,当如果此debug.keysotre由于特殊原因丢失,那之前发的应用都无法更新、替换,是非常严重的问题

原作者:http://my.oschina.net/blackylin/blog/176852

0 0
原创粉丝点击