android cts测试(编译源码获取cts测试包),如何通过Android CTS测试—testPackageSignatures...
解决此问题时在网上搜了很多资料,但都很零碎,没有找到非常完整的解决方案,在此把解决方法和大家分享一下:
CTS测试的错误如下:
junit.framework.AssertionFailedError: These packages should not be signed with a well known key: [com.android.pts.browser] at android.security.cts.PackageSignatureTest.testPackageSignatures ........ (PackageSignatureTest.java:62)
错误原因是APK使用了默认签名,需要使用自定义的签名。
android源码编译使用的默认key:
android\build\target\product\security\ .pk8 .pem 文件
解决方法:
1. 生成加密key文件:
将/android_src/development/tools/生成的key COPY到android\build\target\product\security\
2. 编译android源码
重新编译android源码,此时out/.../system/app下就是重新编译的APK
重新构建NFS挂载使用的根文件系统再次测试
3. 单个APK的签名
重新测试时发现com.android.pts.browser包还是PASS不了,查看out/.../system/app/下的APK文件,发现在步骤2中,
out/.../system/app/PtsDeviceBrowserLauncher.apk没有重新生成,还是原来的。
不知道为啥没有重新生成? 我的解决方法是对此APK单独签名,将signapk.jar 及自签名密匙,platform.pk8 platform.x509.pem COPY到下面路径并
cd /out/target/product/xxxx/obj/APPS/PtsDeviceBrowserLauncher_intermediates
文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限。
signapk.jar:由/platform/build/tools/signapk/编译产出,可以在/out/host/linux-x86/framework/中找到。
然后运行下面命令 :
# java -jar signapk.jar platform.x509.pem platform.pk8 package.apk.unsigned PtsDeviceBrowserLauncher.apk
package.apk.unsigned 表示未签名的该APK文件, 重新签名后为PtsDeviceBrowserLauncher.apk //签过名的APK重新签名可能会出错,最好找到未签名的APK
其他参考:
签名:
java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有对应权限的APK
优化APK:
zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk
查循APK是否优化过:
zipalign -c -v 4 MyDemo.apk
android cts测试(编译源码获取cts测试包),如何通过Android CTS测试—testPackageSignatures...相关推荐
- <漫漫Android路>AOSP源码获取编译及问题处理
漫漫Android路---1.AOSP源码获取编译及导入 写在前面 环境准备 AOSP源码获取 1.Repo下载配置 2.Git安装及配置 3.AOSP获取 AOSP源码编译 1.安装编译依赖 2.开 ...
- Android 5.1 AOSP 源码获取
本文已同步更新至:http://dxjia.cn/2015/08/android-aosp-code-sync/ Android 5.1源码开放有一个多月啦,但由于城墙的关系,每次想着更新最新源码学习 ...
- 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...
1. 在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...
- 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等
1. 在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...
- Android实用应用程序源码
andriod闹钟源代码 http://www.apkbus.com/android-20974-1-1.html android源码分享之指南针程序 http://www.apkbus.com/an ...
- Android Camera 系统架构源码分析
Android Camera 系统架构源码分析(1)---->Camera的初始化 Android Camera 系统架构源码分析(2)---->Camera的startPreview和s ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- 下载、编译官方Android 4.1.2 源码
(一).搭建编译环境 1. 查看linux编译环境软件版本 1.1 python版本 $ python -V 1.2 make版本 $ make -v GNU Make 3.81 Copyright ...
- Android 4.0.1 源码下载,编译和运行
[牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...
- Android FrameWork学习(一)Android 7 0系统源码下载 编译
最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...
最新文章
- [IIS] [PHP] 500.19 随机出现
- 贝叶斯统计:Tweedie公式及其证明
- 加油!兄弟连的兄弟们!
- 无聊写的一个PHP Socket类
- 工作流引擎Activiti 学习(表 分类)
- Android--Activity的跳转及Activity之间的数据传递
- MEncoder的基础用法—6.6. 改变电影大小
- ⭐图例结合超硬核讲解shiro⭐
- ScrollView-图片的放大缩小
- MD5加盐(md5+salt)
- 模拟电子技术基础(第四版)教材 电子版
- Visio2016 层次方框图
- 1212:LETTERS
- lzg_ad:XPE常见问题FAQ
- php英文数字转为中文,利用PHP怎么将英文数字转换为阿拉伯数字
- 高效办公——Excel表格-03篇(Excel常用快捷键 以及 Excel快捷键结合公式的各种常见的办公例子)
- 字符串截取函数 substr
- ​前端VueRouter解析
- 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
- MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器