首先第一步:
关闭wifi_only功能!rk3568_android_sdk/device/rockchip/common/overlay_wifi_only/frameworks/base/core/res/res/values/config.xml
写这个文件的人不知道咋想的,当你把该改的都改了,检查了十几遍,没有发现任何问题,甚至找了厂家FAE解决,最后发现他把总开关关掉了,什么心情?
rk3568_android_sdk/device/rockchip/common/overlay_go/frameworks/base/core/res/res/values/config.xml增加4G图标。
<item>"mobile_mms,2,0,2,60000,true"</item>
<item>"mobile_supl,3,0,2,60000,true"</item>
<item>"mobile_dun,4,0,2,60000,true"</item>
<item>"mobile_hipri,5,0,3,60000,true"</item>
<item>"mobile_fota,10,0,2,60000,true"</item>
<item>"mobile_ims,11,0,2,60000,true"</item>
<item>"mobile_cbs,12,0,2,60000,true"</item>
后面开始正文。
我从网上东拼西凑找了不少教程,但是里面没有提到rillib.so需要替换,替换掉就可以上网了,系统也有4G图标了。
注意,这个rillib.so是移远提供的。把他们提供的文件放到rk3568_android_sdk/vendor/rockchip/common/phone/lib下,主要的是libreference-ril.so和libril.so这两个文件。
修改rk3568_android_sdk/vendor/rockchip/common/phone/phone.mk
PRODUCT_COPY_FILES += \
$(CUR_PATH)/phone/lib/libreference-ril-quel.so:vendor/lib64/libreference-ril-quel.so \
$(CUR_PATH)/phone/etc/ppp/ip-down:system/etc/ppp/ip-down \
$(CUR_PATH)/phone/etc/ppp/ip-up:system/etc/ppp/ip-up \
$(CUR_PATH)/phone/bin/chat:system/bin/chat \
$(CUR_PATH)/phone/etc/ql-ril.conf:system/etc/ql-ril.conf \
$(CUR_PATH)/etc/spn-conf.xml:system/etc/spn-conf.xml \
$(CUR_PATH)/phone/lib/libril.so:vendor/lib64/libril.so
如果修改了so文件的文件名,如我修改成了libreference-ril-quel.so,那么在rild.rc里需要做相应修改,如:
service ril-daemon /vendor/bin/hw/rild -l /vendor/lib64/libreference-ril-quel.so
编译提示冲突,把rk3568_android_sdk/hardware/ril/libril/Android.mk,修改成Android.mk.disabled,或者别的什么名字,目的就是不编译系统自带的libril源码,使用移远提供的so文件。
附加其他的主要文件的修改方法。
rk3568_android_sdk/device/rockchip/common/4g_modem/manifest.xml
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@1.5::IRadio/slot1</fqname>
<fqname>@1.2::ISap/slot1</fqname>
</hal>
</manifest>
另外rk3568_android_sdk/device/rockchip/common/device.mk和rk3568_android_sdk/device/rockchip/common/modules/4g_modem.mk里都添加:
PRODUCT_PACKAGES += \
android.hardware.radio@1.2-radio-service \
android.hardware.radio@1.4-radio-service \
android.hardware.radio@1.5-radio-service \
android.hardware.radio.config@1.0-service \
android.hardware.radio.config@1.1-service \
android.hardware.radio.config@1.2-service \
android.hardware.radio.config@1.3-service \
android.hardware.radio.config@1.0.vendor \
android.hardware.radio.config@1.1.vendor \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.config@1.3.vendor \
android.hardware.radio.deprecated@1.0.vendor \
android.hardware.secure_element@1.0.vendor \
android.hardware.secure_element@1.1.vendor \
android.hardware.secure_element@1.2.vendor \
android.hardware.radio@1.2.vendor \
android.hardware.radio@1.4.vendor \
android.hardware.radio@1.5.vendor \
android.hardware.radio@1.6.vendor
单独添加某一个文件可能会报错,提示找不到radio@1.5,没有仔细测试。
前前后后弄了一个星期,太难了。
全新编译,也就是make clean之后再编译会报错,需要将配置还原编译完成,然后再按上述方法修改