一、 生成未签名的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个源文件

更多相关文章

  1. Android中,把XML文件转换成Object对象的方法
  2. Android 读取doc文件
  3. Android中通过资源文件获取drawable的几种方法
  4. android 源码下载、编译和测试
  5. android- activity,Application,activity渲染xml文件
  6. Android [Camera 源码] 外接 USB 摄像头(External USB Cameras)
  7. Android L Preview 源码同步方法

随机推荐

  1. 【Android学习系列】android Content Pro
  2. Android怎么找到最优适配资源
  3. 你真的会用Android的Dialog吗?由一个Excep
  4. live555移植到Android过程.
  5. [置顶] Android安全机制分析
  6. android studio 开发 Execution failed f
  7. [Android] Nexus 7 二代连接 Windows 7
  8. android 模拟器访问本机http服务IP地址问
  9. Android程序员学IOS-UI篇
  10. android listview的创建及行删除操作