一、Android系统代码中实现设备名分配
1. \frameworks\base\services\core\java\com\android\server\ConnectivityService.java
建立连接时读取 "net.hostname" 属性值是否为空,如果为空则获取设备id,加上"android-"前缀并设置到属性:
protectedConnectivityService(Context context, INetworkManagementService netManager,
INetworkStatsService statsService, INetworkPolicyManager policyManager,
IpConnectivityLog logger) {
mHandlerThread= new HandlerThread("ConnectivityServiceThread");
mHandlerThread.start();
mHandler= newInternalHandler(mHandlerThread.getLooper());
mTrackerHandler= newNetworkStateTrackerHandler(mHandlerThread.getLooper());//setup our unique device name
if (TextUtils.isEmpty(SystemProperties.get("net.hostname"))) {
String id=Settings.Secure.getString(context.getContentResolver(),
Settings.Secure.ANDROID_ID);if (id !&