小白笔记 - Robotium(一)—— Android APK重签名
用robotium测试时,需要对APK重新签名,因为Robotium是基于Instrumentation框架进行封装的。而Instrumentation框架是使用一个测试应用来测试被测试的应用,这两个应用是运行在同一个进程中的不同线程,互相具有访问权限。
而签名机制是Android应用权限安全控制的一个重要手段,不同的应用只有具有相同签名的时候才可以进行调用和触发。
所以在使用robotium进行黑盒测试时,为保证测试应用和被测试应用运行在同一个进程中,就需要对被测试应用进行重签名。
Android APK重签名方法:
1.删除APK包中的META-INF文件夹
- META-INF目录下是签名校验的相关文件
2.使用命令重签名
![](https://images2015.cnblogs.com/blog/1125861/201703/1125861-20170315201750885-719787449.png)
jarsigner
-keystore C:\Users\HXJ\.android\debug.keystore
(指定签名文件,此目录为eclipse默认存放keystore文件路径)
-storepass android
-keypass android
-sigalg MD5withRSA
-digestalg SHA1
D:\latesthxj.apk
(删除META-INF目录后的包)
androiddebugkey
3.优化重签名
![](https://images2015.cnblogs.com/blog/1125861/201703/1125861-20170315201802760-1242239775.png)
- zipalign.exe文件默认在\sdk\build-tools目录下,需cp到\sdk\tools目录下
- latesthxj_debug.apk为最终重签名后的文件