1.手机桌面Settings进入About phone找到Model number,然后从Model number这个显示字符串入手
在packages下搜索Model number找到
packages\apps\Settings\res\values\strings.xml
<!-- About phone screen, status item label [CHAR LIMIT=40] -->
<string name="model_number">Model number</string>
2.在packages下搜索model_number找到在xml文件引用的
packages\apps\Settings\res\xml\device_info_settings.xml
<!-- Device hardware model -->
<Preference android:key="device_model"
style="?android:preferenceInformationStyle"
android:title="@string/model_number"
android:summary="@string/device_info_default"/>
3.在packages下搜索Preference android key,device_model找到
packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java
private static final String KEY_DEVICE_MODEL = “device_model”;
4.在packages下搜索KEY_DEVICE_MODEL 找到
packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java
setStringSummary(KEY_DEVICE_MODEL, Build.MODEL + getMsvSuffix());
从中可以知道是通过Build.MODEL来获得Model number的值
5.怎么去找Build.MODEl呢?
在packages\apps\Settings\src\com\android\settings\DeviceInfoSettings.java
import android.os.Build;
可以知道它应该是在frameworks\base\core\java\android\os下定义的
然后搜索MODEL,会找到
frameworks\base\core\java\android\os\Build.java
/** The end-user-visible name for the end product. */
public static final String MODEL = getString(“ro.product.model”);
6.ro.product.model一般定义在build目录中
在build下搜索ro.product.model
build/tools/buildinfo.sh:18:echo “ro.product.model=$PRODUCT_MODEL”
7.PRODUCT_MODEL会在哪里赋值呢?
在device搜索PRODUCT_MODEL
device\kdragon\kdragon6580_weg_m\full_kdragon6580_weg_m.mk
PRODUCT_MODEL := kdragon6580_weg_m