我们机器是没有SIM卡的,只需要连接wifi。跑CTS测试,CtsCarrierApiTestCases的测试结果都是报没有SIM卡的错误。如下:
android.carrierapi.cts.ApnDatabaseTest#testQueryConflictCase fail This test requires a SIM card with carrier privilege rules on it.
解决方法:
需要去除下面这些features
feature:android.hardware.telephony
feature:android.hardware.telephony.calling
feature:android.hardware.telephony.cdma
feature:android.hardware.telephony.data
feature:android.hardware.telephony.euicc
feature:android.hardware.telephony.gsm
feature:android.hardware.telephony.ims
feature:android.hardware.telephony.messaging
feature:android.hardware.telephony.radio.access
feature:android.hardware.telephony.subscription
feature:android.software.telecom
feature:com.google.android.apps.dialer.SUPPORTED
通关ADB,pm list features 可以查看机器当前的feature。
POS:/ $ pm list features | grep telephony feature:android.hardware.telephony feature:android.hardware.telephony.cdma feature:android.hardware.telephony.gsm feature:android.hardware.telephony.ims
找到代码拷贝feature的位置。如下:
Index: LINUX/android/vendor/qcom/proprietary/telephony-build/build/telephony_vendor_product.mk =================================================================== --- LINUX/android/vendor/qcom/proprietary/telephony-build/build/telephony_vendor_product.mk (revision 2959) +++ LINUX/android/vendor/qcom/proprietary/telephony-build/build/telephony_vendor_product.mk (working copy) @@ -15,9 +15,9 @@ endif PRODUCT_COPY_FILES += \ -frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ -frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ -frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml +# frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ +# frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \ +# frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml endif #TARGET_NO_TELEPHONY ifneq ($(call is-board-platform-in-list, msm8909 qcs605 taro),true)
同时,还要去掉 feature:com.google.android.apps.dialer.SUPPORTED ,定位到这个feature 在GoogleDialer 这个apk里面有设置,直接删除GoogleDialer即可。
asw@rb-PowerEdge-R730xd:~/data/gms/turbox-c6490p-la3.0-vendor-dev.release.FC.r001002/QCM6490_apps_qssi13/LINUX/android/vendor/partner_gms$ svn st ! apps/GoogleDialer ! apps/GoogleDialer/Android.bp ! apps/GoogleDialer/Android.mk ! apps/GoogleDialer/GoogleDialer_arm.apk ! apps/GoogleDialer/GoogleDialer_arm64.apk ! apps/GoogleDialer/com.google.android.dialer.support.jar ! apps/GoogleDialer/com.google.android.dialer.support.xml
之后重新编译测试,fail项能通过了。
标签:xml,CtsCarrierApiTestCases,etc,android13,GoogleDialer,hardware,telephony,C6490,a From: https://www.cnblogs.com/dodo-asw/p/18350283