Android 代码实现重启
一、 生成未签名的apk文件
1.1、AndroidManifest.xml 加入配置:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android "
package="com.test.tt"
android:sharedUserId="android.uid.system"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application>
</application>
</manifest>
1.2、程序实现:
在程序中添加一下代码
PowerManager pManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
pManager.reboot("");
1.3、生成未签名apk文件:
在eclipse中生成apk文这个apk是未签名的,需要把这个apk中META-INFO目录下的CERT.RSA和CERT.SF两个文件删除(删除方式:可以先把apk改为zip,然后删除后再改为apk),删除后就是我们需要的最终未签名的apk,命名为test.apk 文件;
二、 生成 signapk.jar
2.1、 编译SignApk.java
在Android源码 “build\tools\signapk”目录下获取SignApk.java和SignApk.mk文件,把2个文件放在同一目录下,
通过cmd命令行来到此目录下,运行 javac SignApk.java ,
生成 SignApk$SignatureOutputStream.class和SignApk.class 2个文件;
2.2、 生成SignApk.jar
建立目录s\com\android\signapk,将两个class文件放入目录下
运行 jar cvfm signapk.jar SignApk.mf -C s\ .
注意:"s\"后面的"."前面有空格
生成signapk.jar文件,得到了Android提供的签名程序signapk.jar
三、 生成 签名的APK文件
在Android源码 ”build\target\product\security“目录下获取platform.pk8和platform.x509.pem两个文件;
复制到signapk.jar和SignApk.mf所在的目录;
运行 java -jar signapk.jar platform.x509.pem platform.pk8 D:\test.apk D:\testSigned.apk 命令,
D:\test.apk:1.3中获取的未签名的文件
D:\testSigned.apk:test.apk转过来的签名文件,最终需要的文件;
获的D:\testSigned.apk。
附件是tiny6410Android2.3 源码中的4个源文件
更多相关文章
- Android中,把XML文件转换成Object对象的方法
- Android 读取doc文件
- Android中通过资源文件获取drawable的几种方法
- android 源码下载、编译和测试
- android- activity,Application,activity渲染xml文件
- Android [Camera 源码] 外接 USB 摄像头(External USB Cameras)
- Android L Preview 源码同步方法