AndroidL 系统属性的修改

以下内容基于Android5.1.1源码http://androidxref.com/5.1.1_r6/xref/,在新建一个项目后会有一些比较重要的项目相关的属性需要修改。


一:一些重要属性值的设置地方
# 属性变量定义的地方 ./build/core/Makefile

........
$(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
TARGET_BUILD_FLAVOR="$(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)" \
TARGET_DEVICE="$(TARGET_DEVICE)" \
PRODUCT_NAME="$(TARGET_PRODUCT)" \

PRODUCT_BRAND="$(PRODUCT_BRAND)" \

# 根据PRODUCT_LOCALES来获取地区语言 ./build/target/product/full_base.mk PRODUCT_LOCALES := en_US

PRODUCT_DEFAULT_LANGUAGE="$(call default-locale-language,$(PRODUCT_LOCALES))" \  

PRODUCT_DEFAULT_REGION="$(call default-locale-region,$(PRODUCT_LOCALES))" \ 

# 根据PRODUCT_LOCALES来获取地区语言 ./build/target/product/full_base.mk  PRODUCT_LOCALES := en_US

PRODUCT_DEFAULT_WIFI_CHANNELS="$(PRODUCT_DEFAULT_WIFI_CHANNELS)" \
PRODUCT_MODEL="$(PRODUCT_MODEL)" \
PRODUCT_MANUFACTURER="$(PRODUCT_MANUFACTURER)" \
PRIVATE_BUILD_DESC="$(PRIVATE_BUILD_DESC)" \
BUILD_ID="$(BUILD_ID)" \
BUILD_DISPLAY_ID="$(BUILD_DISPLAY_ID)" \
BUILD_NUMBER="$(BUILD_NUMBER)" \
PLATFORM_VERSION="$(PLATFORM_VERSION)" \   
PLATFORM_SDK_VERSION="$(PLATFORM_SDK_VERSION)" \
PLATFORM_VERSION_CODENAME="$(PLATFORM_VERSION_CODENAME)" \
PLATFORM_VERSION_ALL_CODENAMES="$(PLATFORM_VERSION_ALL_CODENAMES)" \
BUILD_VERSION_TAGS="$(BUILD_VERSION_TAGS)" \
TARGET_BOOTLOADER_BOARD_NAME="$(TARGET_BOOTLOADER_BOARD_NAME)" \
BUILD_FINGERPRINT="$(BUILD_FINGERPRINT)" \
$(if $(OEM_THUMBPRINT_PROPERTIES),BUILD_THUMBPRINT="$(BUILD_THUMBPRINT)") \
TARGET_BOARD_PLATFORM="$(TARGET_BOARD_PLATFORM)" \
TARGET_CPU_ABI_LIST="$(TARGET_CPU_ABI_LIST)" \
TARGET_CPU_ABI_LIST_32_BIT="$(TARGET_CPU_ABI_LIST_32_BIT)" \
TARGET_CPU_ABI_LIST_64_BIT="$(TARGET_CPU_ABI_LIST_64_BIT)" \
TARGET_CPU_ABI="$(TARGET_CPU_ABI)" \
TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \
TARGET_AAPT_CHARACTERISTICS="$(TARGET_AAPT_CHARACTERISTICS)" \
........

# ./build/target/product/full_base.mk
........
PRODUCT_PROPERTY_OVERRIDES := \
    ro.com.android.dateformat=MM-dd-yyyy \     # 默认日期格式
    ro.config.ringtone=Ring_Synth_04.ogg \       # 默认铃声
    ro.config.notification_sound=pixiedust.ogg  # 默认通知提示音
........

# 属性值的设置地方 ./build/tools/buildinfo.sh
........
echo "ro.build.id=$BUILD_ID"   # 系统(固件)版本号 ./build/core/build_id.mk   export BUILD_ID=LMY48G 
echo "ro.build.display.id=$BUILD_DISPLAY_ID"   # 设置>关于手机>版本号 
echo "ro.build.version.incremental=$BUILD_NUMBER"   # 版本增量
echo "ro.build.version.sdk=$PLATFORM_SDK_VERSION"   # sdk版本
echo "ro.build.version.codename=$PLATFORM_VERSION_CODENAME"   # 版本代号
echo "ro.build.version.all_codenames=$PLATFORM_VERSION_ALL_CODENAMES"

# 设置>关于手机>Android版本 ./build/core/version_defaults.mk   PLATFORM_VERSION := 5.1.1

echo "ro.build.version.release=$PLATFORM_VERSION"   

echo "ro.build.date=`date`"   # 制作者制作的时间,可修改"2011年X月X日 某某某制作"
........
echo "ro.product.model=$PRODUCT_MODEL"   # 内部手机代号也就是手机名
echo "ro.product.brand=$PRODUCT_BRAND"    # 手机品牌
echo "ro.product.name=$PRODUCT_NAME"       # 手机正式名称
echo "ro.product.device=$TARGET_DEVICE"     # 设备名称
echo "ro.product.board=$TARGET_BOOTLOADER_BOARD_NAME"   # 采用的处理器
........
echo "ro.product.cpu.abi=$TARGET_CPU_ABI"   # cpu的版本
if [ -n "$TARGET_CPU_ABI2" ] ; then
  echo "ro.product.cpu.abi2=$TARGET_CPU_ABI2"   # cpu的品牌
fi
........
echo "ro.product.manufacturer=$PRODUCT_MANUFACTURER"   # 手机制造商
if [ -n "$PRODUCT_DEFAULT_LANGUAGE" ] ; then
  echo "ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE"   # 手机默认语言
fi
if [ -n "$PRODUCT_DEFAULT_REGION" ] ; then
  echo "ro.product.locale.region=$PRODUCT_DEFAULT_REGION"   # 地区语言
fi
echo "ro.wifi.channels=$PRODUCT_DEFAULT_WIFI_CHANNELS"   # WIFI连接的渠道
echo "ro.board.platform=$TARGET_BOARD_PLATFORM"   # 主板平台

echo "# ro.build.product is obsolete; use ro.product.device"
echo "ro.build.product=$TARGET_DEVICE"   # 产品名称

echo "# Do not try to parse description, fingerprint, or thumbprint"
echo "ro.build.description=$PRIVATE_BUILD_DESC"   # 用户的KEY
echo "ro.build.fingerprint=$BUILD_FINGERPRINT"   # 手机指纹
........
# ADD for GSM 谷歌客户身份
echo "ro.com.google.clientidbase.am=android-google"
echo "ro.com.google.clientidbase.gmm=android-google"
echo "ro.com.google.clientidbase.ms=android-google"
echo "ro.com.google.clientidbase.yt=android-google"
echo "ro.com.google.clientidbase=android-google"
# 设置时区

echo "persist.sys.timezone=Europe/Moscow"  

蓝牙名称
/system/bt/btif/src/btif_dm.c   btif_get_Default_local_name 

WIFI直连名称
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/p2p/WifiP2pServiceImpl.java    getPersistedDeviceName()
WIFI SSID名称
/frameworks/base/core/res/res/values/string.xml   wifi_tether_configure_ssid_default


二:开机动画bootanimation.zip
将开机动画放置到指定目录,然后在编译脚本中指定拷贝到system/media/下面,具体方法可以仿照google源码已有的项目
PRODUCT_COPY_FILES += \
    device/xxx/xxx/bootanimation.zip:system/media/bootanimation.zip


三:壁纸相关设置
默认壁纸default_wallpaper.jpg

根据分不同辨率分别替换以下文件
/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
/frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg
/frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg
也可以用项目中采用overlay方式来覆盖
/device/xxx/xxxx/overlay/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg

默认动态壁纸,动态壁纸源码位于/packages/wallpapers/下面
/frameworks/base/core/res/res/values/config.xml 
<string name="default_wallpaper_component" translatable="false">com.android.wallpaper/com.android.wallpaper.grass.GrassWallpaper</string>
或者设置系统变量echo "ro.config.wallpaper_component=com.android.wallpaper/com.android.wallpaper.grass.GrassWallpaper"

添加壁纸
在./packages/apps/Launcher3/WallpaperPicker/res/values-nodpi/wallpapers.xml的wallpapers数组中添加
<resources>
    <string-array name="wallpapers" translatable="false">
        <item>wallpaper1</item>
        <item>wallpaper2</item>
        <item>wallpaper3</item>
    </string-array>
</resources>

根据手机支持的不同分辨率,将图片放置到WallpaperPicker对应的drawable中,
注意的是需要一大一小两张图片,如wallpaper1.png与wallpaper1_small.png, 此处wallpaper1_small.png为wallpaper1.png的缩略图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值