Android Emulator默认电话号码修改和MCC MNC修改

乐正嘉瑞
2023-12-01

我们都知道android模拟器是有一个默认的电话号码的和 移动国家码(MCC),以及移动网络码(MNC).那么如何修改这些默认的信息呢?

首先,模拟器源码下载以及编译请见此 http://blog.csdn.net/sphinner/article/details/79505559

这两处修改的代码在 AOSP/external/qemu/android/android-emu/android/telephony/ 文件下面 

MCC, MNC 为modem.c 文件中     

#define  OPERATOR_HOME_INDEX 0
#define  OPERATOR_HOME_MCC   460
#define  OPERATOR_HOME_MNC   01
#define  OPERATOR_HOME_NAME  "联通"
#define  OPERATOR_HOME_MCCMNC  STRINGIFY(OPERATOR_HOME_MCC) \
                               STRINGIFY(OPERATOR_HOME_MNC)

#define  OPERATOR_ROAMING_INDEX 1
#define  OPERATOR_ROAMING_MCC   460
#define  OPERATOR_ROAMING_MNC   00
#define  OPERATOR_ROAMING_NAME  "移动"
#define  OPERATOR_ROAMING_MCCMNC  STRINGIFY(OPERATOR_ROAMING_MCC) \
                                  STRINGIFY(OPERATOR_ROAMING_MNC)

默认的电话号码修改在sim_card.c中 最后一段

 if (!strcmp("+CRSM=178,28480,1,4,32", cmd)) {
        snprintf( sim->out_buff, sizeof(sim->out_buff), "+CRSM: 144,0,ffffffffffffffffffffffffffffffffffff0781515525%d1%d%df%dffffffffffff", (sim->port / 1000) % 10, (sim->port / 10) % 10, (sim->port / 100) % 10, sim->port % 10);
        return sim->out_buff;
        }

    for (nn = 0; answers[nn].cmd != NULL; nn++) {
        if ( !strcmp( answers[nn].cmd, cmd ) ) {
            return answers[nn].answer;
        }
    }
ffffffffffffffffffffffffffffffffffff0781515525%d1%d%df%dffffffffffff"

该行代码即为默认的电话号码.  不过 1515525 进行位置互换 后面4位端口号.

另外各位如果有兴趣懂得AT命令 可以自行修改 asimcard_io 方法中的信息.


注意: 该代码 是基于 模拟器 emu-2.5-release 版本的. 主线版本 代码与此有区别.




 类似资料: