日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android cts测试(编译源码获取cts测试包),如何通过Android CTS测试—testPackageSignatures...

發布時間:2023/12/20 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。