解决此问题时在网上搜了很多资料,但都很零碎,没有找到非常完整的解决方案,在此把解决方法和大家分享一下:

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...相关推荐

  1. <漫漫Android路>AOSP源码获取编译及问题处理

    漫漫Android路---1.AOSP源码获取编译及导入 写在前面 环境准备 AOSP源码获取 1.Repo下载配置 2.Git安装及配置 3.AOSP获取 AOSP源码编译 1.安装编译依赖 2.开 ...

  2. Android 5.1 AOSP 源码获取

    本文已同步更新至:http://dxjia.cn/2015/08/android-aosp-code-sync/ Android 5.1源码开放有一个多月啦,但由于城墙的关系,每次想着更新最新源码学习 ...

  3. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...

    1.  在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...

  4. 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等

    1.  在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...

  5. Android实用应用程序源码

    andriod闹钟源代码 http://www.apkbus.com/android-20974-1-1.html android源码分享之指南针程序 http://www.apkbus.com/an ...

  6. Android Camera 系统架构源码分析

    Android Camera 系统架构源码分析(1)---->Camera的初始化 Android Camera 系统架构源码分析(2)---->Camera的startPreview和s ...

  7. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  8. 下载、编译官方Android 4.1.2 源码

    (一).搭建编译环境 1. 查看linux编译环境软件版本 1.1 python版本 $ python -V 1.2 make版本 $ make -v GNU Make 3.81 Copyright ...

  9. Android 4.0.1 源码下载,编译和运行

    [牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...

  10. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

最新文章

  1. [IIS] [PHP] 500.19 随机出现
  2. 贝叶斯统计:Tweedie公式及其证明
  3. 加油!兄弟连的兄弟们!
  4. 无聊写的一个PHP Socket类
  5. 工作流引擎Activiti 学习(表 分类)
  6. Android--Activity的跳转及Activity之间的数据传递
  7. MEncoder的基础用法—6.6. 改变电影大小
  8. ⭐图例结合超硬核讲解shiro⭐
  9. ScrollView-图片的放大缩小
  10. MD5加盐(md5+salt)
  11. 模拟电子技术基础(第四版)教材 电子版
  12. Visio2016 层次方框图
  13. 1212:LETTERS
  14. lzg_ad:XPE常见问题FAQ
  15. php英文数字转为中文,利用PHP怎么将英文数字转换为阿拉伯数字
  16. 高效办公——Excel表格-03篇(Excel常用快捷键 以及 Excel快捷键结合公式的各种常见的办公例子)
  17. 字符串截取函数 substr
  18. ​前端VueRouter解析
  19. 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
  20. MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器

热门文章

  1. 微信支付开发 服务商模式 签名错误
  2. 按键精灵sayString不生效
  3. flv转mp4选项设置
  4. 使用Python实现一个简单的聊天室
  5. 洛谷P2466 [SDOI2008] Sue 的小球 题解
  6. 静态库、动态库及导入库
  7. 优雅写代码的45个小技巧
  8. typecho与WordPress博客程序评测及推荐
  9. 蓝桥杯java打印菱形_Python基础练习实例22(抽签问题)
  10. 免Root–获取WIFI密码