安卓APN设置

本文详细介绍了如何导出、修改和导入Android系统的APN配置文件apns-conf.xml,包括APN的相关参数解释,如MCC、MNC、APN等,并讨论了不同apntype的应用场景。对于没有匹配到的SIM卡APN信息,文章提供了添加新条目的步骤,以确保物联网卡等特殊需求的网络连接。最后,提到了通过代码修改APN配置的方法和数据库清理重启的过程。
摘要由CSDN通过智能技术生成

一、导出APN文件

在system/etc/目录下,可以通过adb命令pull出来:

1、adb root
2、adb remount
3、adb pull /system/etc/apns-conf.xml
在这里插入图片描述

二、修改apns-conf.xml文件

1、打开文件如下:

  <apn carrier="China Mobile" mcc="460" mnc="00" apn="cmnet" type="default,supl" />
  <apn carrier="China Mobile" mcc="460" mnc="02" apn="cmnet" type="default,supl" />
  <apn carrier="Cmiot" apn="Cmiot"  mcc="460" mnc="11" user="" password="" server="" proxy="" port="" mmsproxy="" mmsport="" mmsc="" type="default" />    
  <apn carrier="中国移动 (China Mobile) GPRS" mcc="460" mnc="07" user="cmnet" password="cmnet" apn="cmnet" type="default,supl" />
  <apn carrier="CHina Mobile MMS" mcc="460" mnc="00" apn="cmwap" proxy="10.0.0.172" port="80" mmsc="http://mmsc.monternet.com" mmsproxy="10.0.0.172" mmsport="80" type="mms" />
  <apn carrier="China Mobile MMS" mcc="460" mnc="02" apn="cmwap" proxy="10.0.0.172" port="80" mmsc="http://mmsc.monternet.com" mmsproxy="10.0.0.172" mmsport="80" type="mms" />
  <apn carrier="中国移动彩信 (China Mobile)" mcc="460" mnc="07" apn="cmwap" proxy="10.0.0.172" port="80" mmsc="http://mmsc.monternet.com" mmsproxy="10.0.0.172" mmsport="80" type="mms" />

Carrier:apn的名字,可为空,只用来显示apn列表中此apn的显示名字。
Mcc:由三位数组成。 用于识别移动用户的所在国家;
Mnc:由两位或三位组成。 用于识别移动用户的归属PLMN。 MNC的长度(两位或三位数)取决于MCC的值。
Apn:APN网络标识(接入点名称),是APN参数中的必选组成部分。此标识由运营商分配。
Proxy:代理服务器的地址
Port:代理服务器的端口号
Mmsc:MMS中继服务器/多媒体消息业务中心,是彩信的交换服务器。
Mmsproxy:彩信代理服务器的地址
Mmsport:彩信代理服务器的端口号
Protocol:支持的协议,不配置默认为IPV4。
User:用户
Password:密码
Authtype:apn的认证协议,PAP为口令认证协议,是二次握手机制。CHAP是质询握手认证协议,是三次握手机制。

2、程序会根据SIM卡号imsi中的mcc和mnc匹配到正确的APN,如中国移动的物联网卡,mcc和mnc分别为460,04,若类别中没有该信息,那么需要在文件中增加:

 <apn carrier="attach" apn=""  mcc="460" mnc="04" user="" password="" server="" proxy="" port="" mmsproxy="" mmsport="" mmsc="" type="ia" /> 
  <apn carrier="default" apn="cmiot"  mcc="460" mnc="04" user="" password="" server="" proxy="" port="" mmsproxy="" mmsport="" mmsc="" type="default" /> 
  <apn carrier="ims" apn="cmiot"  mcc="460" mnc="04" user="" password="" server="" proxy="" port="" mmsproxy="" mmsport="" mmsc="" type="ims" /> 

3、这里重点说明下apn type,不同的apn type通常处理不同的业务,如cmiot的type为default,用来拨号上网,ims的type为ims,用来IMS服务,cmwap的type为mms,用来彩信服务,如果type为ia,则代表该apn是用来attach网络的。

三、导入新的文件

1、导入:adb push apns-conf.xml /system/etc/
2、删除数据库
apn数据存储的数据库:/data/data/com.android.providers.telephony/databases/telephony.db,系统启动后,如果该数据库为空,则会根据system/etc/apn-conf.xml并把其中的内容加入到数据表中
3、adb shelll reboot

四、通过代码直接修改

以上方法为直接修改设备里面的apn列表,如果通过编译代码修改,则直接修改vendor\qcom\proprietary\qrdplus\Extension\apps\etc\apn-conf.xml

备注:不同的平台文件路径可能有差异。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值