由于工作要求移植4.0.4android的设置固定ip,所以安下心看看了看调用关系如下,但是函数调用接口变了只能是自己改了,
android2.3调用关系
android2.3
packages/apps/Settings/src/com/android/settings/ethernet/EthernetConfigDialog.java:handle_saveconf()
mEthManager.updateDevInfo(info);
frameworks/base/ethernet/java/android/net/ethernet/EthernetManager.java:updateDevInfo()
mService.updateDevInfo(info); IEthernetManager:接口
frameworks/base/ethernet/java/android/net/ethernet/IEthernetManager.aidl接口 updateDevInfo
frameworks/base/services/java/com/android/server/EthernetService.java:updateDevInfo;resetInterface()
EthernetStateTracker
frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:configureInterface
frameworks/base/core/java/android/net/NetworkUtils.java:configureNative调用
frameworks/base/core/jni/android_net_NetUtils.cpp:android_net_utils_configureInterface 函数
::ifc_configure(nameStr, ipaddr, mask, gateway, dns1, dns2)
/system/core/libnetutils/ifc_utils.c调用
android4.0.4 调用关系
packages/apps/Settings/src/com/android/settings/ethernet/EthernetConfigDialog.java:handle_saveconf()
mEthManager.updateDevInfo(info);
frameworks/base/ethernet/java/android/net/ethernet/EthernetManager.java:updateDevInfo()
mService.updateDevInfo(info); IEthernetManager:接口
frameworks/base/ethernet/java/android/net/ethernet/IEthernetManager.aidl接口 updateDevInfo
frameworks/base/services/java/com/android/server/EthernetService.java:updateDevInfo;resetInterface()
EthernetStateTracker
frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:configureInterface
frameworks/base/core/java/android/net/NetworkUtils.java:configureNative调用
frameworks/base/core/jni/android_net_NetUtils.cpp:android_net_utils_configureInterface 函数
::ifc_configure(nameStr, ipaddr, mask, gateway, dns1, dns2)
/system/core/libnetutils/ifc_utils.c调用
根据上边的调用关系,就会改好设置固定ip地址的