Android 系统源码修改记录

【1、修改默认语言】
以si7537sc_Stylo_k7_M项目为例
修改文件路径在:device/sprd/scx35/sp7731g_1h10/si7537sc.mk 默认语言是里面语言的第一个

【2、修改默认时区】
在build/tools/buildinfo.sh脚本里修改默认地区,没有的就在后面添加

【3、修改开关机动画】
修改路径:vendor/sprd/partner/prebuilt_apps/boot 在boot目录下有bootanimation.zip和shutdownanimation.zip分别为开关机的包,替换即可,boot下面的boot_res.mk文件是声明开机关机动画和铃声的,同样的开关机铃声在这个makefile文件里修改铃声的引用即可。
关于bootanimation.zip包的制作:解压bootanimation.zip可以发现里面有三个文件
–part0
–part1
–desc.txt
part0和part1里面放的都是客户提供的一张张图片。
接下来,说说bootanimation.zip这个文件的结构。bootanimation里面主要包含一个desc.txt以及N个文件夹。而文件夹里面放着的就是你要的开机动画的图片。decs.txt的作用就是指导系统如何去执行你的开机画面。
下面继续说说desc.txt这个文档要怎么写。
先看例子,如果我的开机动画要用到2个文件夹,分别是part1和part2,。。。。我希望开机的时候,先把part1里面的图片都播放一遍,然后再循环播放part2里面的文件,直到进入系统。那么decs.txt文档的内容应该如下:
302 480 5
p 1 0 part1
p 0 0 part2

就这么多,现在解释一下这些命令吧。
第一行,320 480是代表你屏幕的分辨率,因为我们的胖6是320*480的,这就不多说了。后面的5是说,5帧每秒,不懂的可以这么理解,5是代表一秒钟播放5张图片。就这么简单。
第二行,p 1 0 part1。p应该是play吧,也就是播放的意思。1是播放一次。0是空指令,就是什么都不做。part1就是说,这条指令是针对part1这个文件夹的。整条指令的意思就是,播放part1里面的图片1次,然后什么都不做,马上进入下一条指令。
第三行,p 0 0 part2。p依然是播放。第一个0这里是代表循环播放,第二个0和上面第二条指令一样,代表什么也不做。part2也就不多说了。
至于为什么第一个0为什么是代表循环,只能这么说,这事国际惯例,就像用迅雷的时候,0代表不限制速度一样,系统规定的,你知道就好,别纠结。

总结公式如下
第一条指令:屏幕的分辨率(空格)播放频率
第二条指令:p(空格)播放次数(空格)后续操作(空格)作用文件夹
第三条指令:同上
第N条指令:同上
屏幕分辨率的格式是:宽(空格)高,胖6的就是320 480。。。播放频率,上面已经说清楚了,至于到底要用多大的数字,视你开机动画的张数而定,比如说,一共有100张图片,开机时间是20秒,那么100/20就是5。
播放次数,1是代表一次,0代表循环播放。如果要播放2次的话,就是就是打个2上去,应该是这样吧,反正我是没试过,只试过0和1.
后续操作,0代表什么都不做,直接进入下一条指令。10是代表稍作停顿。

至于文件夹里面的图片,比较简单,首先,纠正一个说法,之前说必须要是png格式,经过我试验证明,jpg格式的也可以,其他的有待试验,不过只支持静态图片这点应该是真的,动态图片同样有待试验。其次,关于图片的尺寸,是不做要求的,只要在txt文档里写好手机的分辨率即可,开机的时候系统会自动适配。其其次要按播放循序命名,建议用5位数字,比如说,第一张图片是00010,第二张就是00020.。。。。为什么要从00010开始,而不是00001?因为这事预防以后要在第一张和第二张中间再插一张图片进去的话,就可以把插进去的图片命名为00011,在00010之后,00020之前。就这么简单。至于图片那里来嘛,当然是自己网上找啦,也可以下载别人的bootanimation,然后修改一下。

最后就是压缩包了,把需要用到的part文件夹跟decs.txt打包成zip格式,必须是zip,不能是rar,而且打包的时候压缩方式要选择“存储”模式。然后改名成为bootanimation.zip,复制到SD卡里,再通过RE文件管理器复制到system\media\下面,重启。

要注意一下,bootanimation不能太大,大了会卡,一般不要超过3M,。

【4、添加、修改默认壁纸】
默认壁纸:默认壁纸是在framework/base/core/res/res 目录下,使用命令:find . -name default* 可以看到默认壁纸的引用有下面几处:./drawable-sw720dp-nodpi/default_wallpaper.jpg
./drawable-nodpi/default_wallpaper.jpg
./drawable-sw600dp-nodpi/default_wallpaper.jpg
./drawable-xhdpi/default_wallpaper.jpg
将上述几个图片都用默认壁纸替换掉就可以了
注意如果客户是要普通的壁纸中选个当默认壁纸的,不要将默认壁纸添加到Launcher中,这样会造成重复!

添加普通壁纸:将壁纸放在:Launcher/WallpaperPicker/res/drawable-xhdpi目录下,按照里面的格式改名字,比如同样的壁纸改为wallpaper_00.jpg,wallpaper_00_small.jpg放置两个,具体原因暂时不知道

【5、增加、删除系统APK】
内置或者删除APK,系统路径在vendor/sprd/partner/prebuilt_apps下
zediel的做法是在prebuilt_apps下复制一个文件夹放置第三方应用,文件夹的压缩包在J:\宋志豪\3rdpart.rar,可以复制过来进行解压。
关于3rdpart这个文件夹,目录结构为:
–preapp
–preloadapp
–prevital-app
–Android.mk
–xxx.apk(添加的可卸载的apk)
–SwipeStore
–lib
–Android.mk
–xxx.apk(添加的不可卸载的apk) 注意,有几个不可卸载的apk ,就重复建几个不可卸载的文件夹,其他都一样重复
–3rd_part.mk(此makefile文件里主要是调用该目录下apk,.so库的声明)
–Android.mk

其中可卸载的APP放置在prevital-app目录下,不可卸载的APP放在SwipeStore目录下

对于可卸载的apk,直接将apk文件放到prevital-app目录下就行
对于不可卸载的apk:1、先将apk放到SwipeStore下
2、然后配置lib文件夹,解压xxx.apk将里面的lib文件夹复制出来替换此lib文件夹 3、配置/SwipeStore/Android.mk。在“LOCAL_MODULE := SwipeStore”名字改成和放置不可卸载的apk文件夹名称一致,在“LOCAL_PREBUILT_JNI_LIBS:= lib/armeabi-v7a/lib18p_market.so”处改为lib文件夹下的.so库的路径

4、无论卸载或不可卸载的apk都要进行这一步的操作。在device/sprd/scx35_sp7731gea_hdr/device/sprd/scx35_sp7731gea_hdr/sp7731gea_hdr_dt_common.mk文件为总的配置makefile文件,增加一个对3rd_part.mk 的调用
$(call inherit-product, vendor/sprd/partner/prebuilt_apps/3rdpart/3rd_part.mk)

删除谷歌源生APK:在vendro/sprd/partner/google/products/gms.mk文件中删除Google的apk调用

【6、修改DDR、屏型号】
修改路径:zediel/config/所选的项目/ProjectConfig.mk
【7、修改默认的输出法】
以内置百度输入法为例:
(1)在frameworks/bse/package/SettingsProvider/res/values/
defaults.xml文件中添加百度输入法com.baidu.input/.ImeServices
(2)在frameworks/base/packages/SettingsProvider/src/com/android/
providers/settings/DatabaseHelper.java中的函数loadDefaultHapticSettings里添加
loadStringSetting(stmt,Settings.Secure.DEFAULT_INPUT_METHOD,R.string.def_input_method);
【8、音量键的默认音量之修改】
在frameworks/base/media/java/android/media/AudioManager.java 的DEFAULT_STREAM_VOLUME修改
public static final int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
11, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
11, // STREAM_FM
11, // STREAM_DTMF
11, // STREAM_TTS
7 // STREAM_SYSTEM_ENFORCED
};

以Music为例,默认值为11 即代表默认值是最大值减4格,
若再降2格,则11-2=9 ,代码STREAM_MUSIC之DEFAULT_STREAM_VOLUME值由11修正为9
【9、怎么给应用开启硬件加速功能】
开启硬件加速功能可以在一定程度上使得整个应用程序运行速度更快。launcher 应用的硬件加速功能是在AndroidManifest.xml中通过android:hardwareAccelerated这个属性指定的。如下所示:

<application
    android:name="com.android.launcher2.LauncherApplication"
    android:label="@string/application_name"
    android:icon="@drawable/ic_launcher_home"
    android:hardwareAccelerated="@bool/config_hardwareAccelerated"

我们可以在values文件夹的config.xml中配置config_hardwareAccelerated为true即可。如下所示:

<bool name="config_hardwareAccelerated">true</bool>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrsongs的心情杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值