windows下eclipse中,涉及源码编译的apk开发——使用系统签名机制
来源:互联网 发布:如何玩好刘邦知乎 编辑:程序博客网 时间:2024/06/05 22:43
我认为学习需要靠交流,我把我的一点心血发上来,希望可以促进大家交流
刚学android一个月,由于是在windows xp上开发的,也不会makefile,ndk还没仔细研究,或许对一些初学者有用。
一、Android Apk签名
Apk签名首先要有一个keystore的签名用的文件。
keystore是由jdk自带的工具keytool生成的。
具体生成方式参考:
开始->运行->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java\jdk1.6.0_10\bin
然后输入:
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore
-alias 后面跟的是别名这里是 asaiAndroid.store
-keyalg 是加密方式这里是RSA
-validity 是有效期 这里是20000
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
然后按回车键
按回车后首先会提示你输入的密码:这个在签名时要用的,要记住
然后会再确认你的密码。
之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。
开始签名。
在 C:\Program Files\Java\jdk1.6.0_10\bin 还提供一个工具 jarsigner.exe
运行命令给APK签名:
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore
-keystore: keystore的名称
LotteryOnline_signed.apk: 签名后的APK
LotteryOnline.apk: 签名前的APK
然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。
二、eclipse源码编译,无需用make来编译(android源码目录<D:\myandroid_mx27>):
1、首先,AndroidManifest.xml中manifest节点中加入android:sharedUserId="android.uid.system"这个属性
2、用eclipse编译出apk(ClockSetting.apk)文件,但这个文件不能用,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件
3、使用当前android系统(android系统可能不同)的platform密钥来重新给apk文件签名(可能还未用用户米要签名)。
首先,找到密钥文件,在我的Android源码目录中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem两个文件。
然后,用Android提供的SignApk工具来签名,signapk的源代码是在"build\tools\signapk"下,这时得为下面的编译工作做些准备:
<1>、编译jar
命令行cd到signapk.java代码目录下,
javac signapk.java
获取SignApk$SignatureOutputStream.class和SignApk.class
建立目录s\com\android\signapk,将两个class文件放入目录下
jar cvfm signapk.jar SignApk.mf -C s\ .
注意:"s\"后面的"."前面有空格
生成signapk.jar文件,得到了Android提供的签名程序signapk.jar
<2>、用目标系统的platform密钥签名
将platform.pk8和platform.x509.pem文件复制到"D:\myandroid_mx27\build\tools\signapk"目录下,即signapk.jar和SignApk.mf所在的目录。
java -jar signapk.jar platform.x509.pem platform.pk8 D:\ClockSetting.apk D:\ClockSettingSigned.apk
我的未签名(ClockSetting.apk)和已签名(ClockSettingSigned.apk)apk文件都放在D盘,这样就得到了用Android源码编译的文件。
<3>、打开真机,安装:
adb connect IP:Port (IP为真机IP地址,Port为端口)
adb install D:/ClockSettingSigned.apk
刚学android一个月,由于是在windows xp上开发的,也不会makefile,ndk还没仔细研究,或许对一些初学者有用。
一、Android Apk签名
Apk签名首先要有一个keystore的签名用的文件。
keystore是由jdk自带的工具keytool生成的。
具体生成方式参考:
开始->运行->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java\jdk1.6.0_10\bin
然后输入:
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore
-alias 后面跟的是别名这里是 asaiAndroid.store
-keyalg 是加密方式这里是RSA
-validity 是有效期 这里是20000
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
然后按回车键
按回车后首先会提示你输入的密码:这个在签名时要用的,要记住
然后会再确认你的密码。
之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。
开始签名。
在 C:\Program Files\Java\jdk1.6.0_10\bin 还提供一个工具 jarsigner.exe
运行命令给APK签名:
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore
-keystore: keystore的名称
LotteryOnline_signed.apk: 签名后的APK
LotteryOnline.apk: 签名前的APK
然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。
二、eclipse源码编译,无需用make来编译(android源码目录<D:\myandroid_mx27>):
1、首先,AndroidManifest.xml中manifest节点中加入android:sharedUserId="android.uid.system"这个属性
2、用eclipse编译出apk(ClockSetting.apk)文件,但这个文件不能用,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件
3、使用当前android系统(android系统可能不同)的platform密钥来重新给apk文件签名(可能还未用用户米要签名)。
首先,找到密钥文件,在我的Android源码目录中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem两个文件。
然后,用Android提供的SignApk工具来签名,signapk的源代码是在"build\tools\signapk"下,这时得为下面的编译工作做些准备:
<1>、编译jar
命令行cd到signapk.java代码目录下,
javac signapk.java
获取SignApk$SignatureOutputStream.class和SignApk.class
建立目录s\com\android\signapk,将两个class文件放入目录下
jar cvfm signapk.jar SignApk.mf -C s\ .
注意:"s\"后面的"."前面有空格
生成signapk.jar文件,得到了Android提供的签名程序signapk.jar
<2>、用目标系统的platform密钥签名
将platform.pk8和platform.x509.pem文件复制到"D:\myandroid_mx27\build\tools\signapk"目录下,即signapk.jar和SignApk.mf所在的目录。
java -jar signapk.jar platform.x509.pem platform.pk8 D:\ClockSetting.apk D:\ClockSettingSigned.apk
我的未签名(ClockSetting.apk)和已签名(ClockSettingSigned.apk)apk文件都放在D盘,这样就得到了用Android源码编译的文件。
<3>、打开真机,安装:
adb connect IP:Port (IP为真机IP地址,Port为端口)
adb install D:/ClockSettingSigned.apk
- windows下eclipse中,涉及源码编译的apk开发——使用系统签名机制
- windows下eclipse中,涉及源码编译的apk开发——使用系统签名机制
- windows下eclipse中,涉及源码编译的apk开发——使用系统签名机制解决方法
- windows下eclipse中,涉及源码编译的apk开发使用系统签名机制
- windows下eclipse中,涉及源码编译的apk开发使用系统签名机制
- eclipse源码编译的apk开发,使用系统签名机制.
- windows下eclipse中——使用系统签名机制
- eclipse源码编译的apk开发,使用系统签名机制. (可让自己的写的apk有权限卸载其他应用)
- eclipse源码编译的apk开发,使用系…
- eclipse源码编译的apk开发,使用系…
- windows下编译android源码的apk
- 在Android源码中编译带.so库文件的APK,使其具体系统签名和系统权限
- Android中使用Eclipse生成正式签名的APK文件
- Android初学------编译系统签名的apk
- 在Android系统源码下编译apk
- 在Android系统源码下编译apk
- 如何将Android 源码中编译出的apk进行自己的签名
- Windows系统下Ant自动编译打包并签名Android应用——探索篇
- FreeRTOS STM32移植笔记
- (3)C语言代码之统计单词个数
- Shell中$参数
- 工作中遇到的JS小记
- iphone 开发的一些小技巧
- windows下eclipse中,涉及源码编译的apk开发——使用系统签名机制
- hibernate.cfg.xml
- SPOJ NWERC11C Movie collection
- 解决:Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_li ..
- bzoj 2653 middle 二分+ 可持久化数据结构(可持久化感悟)
- 用C++实现一个不能被继承的类
- fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出
- dijsttra 邻接表+优先队列
- cocos2d-x——CCLabelBMFont(汉字艺术文本)