android 修改手机系统,【教程贴丨09-29】手机系统APK自己来修改

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

第五个教程是:

怎样修改锁屏 ---任你修改

1、相关锁屏的文件是system\framework\framework-res.apk和system\framework\android.policy.jar,framework-res.apk是关于界面显示的,我主要是修改它,android.policy.jar关于动做执行的,java不懂暂时无力修改。

1、相关锁屏的文件是system\framework\framework-res.apk和system\framework\android.policy.jar,framework-res.apk是关于界面显示的,我主要是修改它,android.policy.jar关于动做执行的,java不懂暂时无力修改。

2、直接用winrar打开framework-res.apk可以看到,中兴锁屏输出界面文件是framework-res.apk\res\layout\unlock_dna_typeb.xml,不过这是已经编译成16进制的文件,所以需要反编译才能看到原码,如果只是改图片和文字颜色也可以直接用16进制文档编辑器来做修改。注:此文件是国行摆钟锁屏的特有文件,原生锁屏是没有这个文件的,原生锁屏的代码在android.policy.jar内

3、用反编译工具反编译framework-res.apk,在获得的反编译目录内(我以反编译到framework-res目录为例),framework-res\res\layout\unlock_dna_typeb.xml文件就是锁屏输出的界面,用文本编辑器打开这个文件,原码说明参看下列代码备注:

<

com.android.internal.policy.impl.ZteLockScreenView

android:background="@drawable/unlock_bg" android:layout_width="fill_parent"

android:layout_height="fill_parent"

//ulock_bg是背景,改相应图片

xmlns:android="http://schemas.android.com/apk/res/android">

<

TextView android:textSize="19.0sp" android:textStyle="bold"

android:textColor="#ff000000" android:gravity="right" android:id="@id/carrier"

android:layout_width="480.0px" android:layout_height="wrap_content"

android:layout_marginTop="16.0px" android:layout_marginRight="15.0px" /> //

#ff000000是营运商颜色,默认#ff000000是黑色完全不透明

android:layout_width="fill_parent" android:layout_height="wrap_content"

android:layout_marginLeft="0.0px" android:layout_marginTop="103.0px">

<

LinearLayout android: orientation="horizontal" android:id="@id/timeDisplay"

android:layout_width="243.0px" android:layout_height="75.0px"

android:layout_marginLeft="12.0px" android:layout_marginTop="0.0px">

<

ImageView android:id="@id/hour_1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:src="@drawable/time_8"

/>

< ImageView android:id="@id/hour_0"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:src="@drawable/time_8" />

< ImageView

android:id="@id/parting_point" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="2.0px"

android:src="@drawable/parting_point" />

< ImageView

android:id="@id/minute_1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="2.0px"

android:src="@drawable/time_8" />

< ImageView android:id="@id/minute_0"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:src="@drawable/time_8" />

<

/LinearLayout> //以上是时间显示,时间数字通过调用图片time_0至9,中间冒号调用图片parting_point

<

ImageView android:id="@id/am_pm" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="259.0px"

android:layout_marginTop="39.0px" android:src="@drawable/am" />

//这段调用图片am_zh和pm_zh来显示上午和下午,换图片即可

< /RelativeLayout>

< TextView

android:id="@id/division" android:background="#ff605f5f"

android:layout_width="318.0px" android:layout_height="2.0px"

android:layout_marginLeft="0.0px" android:layout_marginTop="180.0px" />

//定义横线位置与颜色

android:textColor="#ff605f5f" android:id="@id/date"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="24.0px" android:layout_marginTop="193.0px"

android:text="@string/default_date" /> //定义日期位置与颜色

android:textAppearance="?textAppearanceMedium" android:textColor="#ff605f5f"

android:id="@id/status1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="24.0px"

android:layout_marginTop="4.0dip" android:drawablePadding="4.0dip"

android:layout_below="@id/date" /> //定义星期位置与颜色

android:id="@id/arrow_left" android:visibility="invisible"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="36.0px" android:layout_marginTop="424.0px"

android:src="@drawable/arrow_left" /> //定义向左下指示图片及其位置

android:id="@id/arrow_right" android:visibility="invisible"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="142.0px" android:layout_marginTop="319.0px"

android:src="@drawable/arrow_right" />

//定义向右上指示图片及其位置

android:id="@id/unlock_handler" android:clickable="true"

android:layout_width="480.0px" android:layout_height="480.0px"

android:layout_alignParentRight="true" android:layout_alignParentBottom="true"

/>

< com.android.internal.policy.impl.UnlockAniView

android:id="@id/unlock_animation" android:visibility="gone"

android:layout_width="480.0px" android:layout_height="480.0px"

android:layout_alignParentRight="true" android:layout_alignParentBottom="true"

/>

< ImageView android:id="@id/unlock_icon"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="20.0px" android:layout_marginTop="654.0px"

android:src="@drawable/unlock_icon" /> //定义向开锁图标及其位置

android:id="@id/selected_icon" android:visibility="invisible"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="-10.0px" android:layout_marginTop="620.0px"

android:src="@drawable/selected_icon" />

< ImageView

android:id="@id/silence_icon" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="381.0px"

android:layout_marginTop="298.0px" android:src="@drawable/silence_in" />

//定义移动到声音图标后显示的图片及其位置

android:visibility="invisible" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_marginLeft="349.0px"

android:layout_marginTop="272.0px" android:src="@drawable/selected_silence_icon"

/> //定义移动到开锁图标后显示的图片及其位置

android:id="@id/emergencyCallButton" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:src="@null"

android:layout_alignParentRight="true" android:layout_alignParentBottom="true"

/>

< ImageView android:id="@id/emergency_icon"

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:layout_marginLeft="409.0px" android:layout_marginTop="688.0px"

android:src="@drawable/emergence_icon" /> //定义声音图标及其位置

<

/com.android.internal.policy.impl.ZteLockScreenView>

--------------------------------------------------------------------------------

4、修改完成后,重新编译framework-res,编译过程中可能会出现一些错误,是因为windows生成的无效图片和语言包定义差异造成的,根据提示修改或删除,因为我们需要的只是编译unlock_dna_typeb.xml,其它错误在这里不必深究。

5、提取修改后重新编译成16进制的unlock_dna_typeb.xml文件,用winrar打开原版的framework-res.apk,把刚提取出来的unlock_dna_typeb.xml拖到res\layout目录下替换原来的文件,把修改后的图片拖到res\drawable-hdpi目录下替换原来的图片。

6、完成上面步逐锁屏显示界面就改好了,注意就算在第4步编译过程中没问题成功编译也不是要使用你重新编译的这个framework-res.apk,因为重新编译出来的文件跟原来的签名不符,只有替换原版才可以。

7、另一种方法,不反编译,直接用16进制编辑器改文字颜色,在编辑器中点击搜索>>查找,输入0800001c(0800001c

应该16进制的定义颜色语句),在找到的0800001c后面8位就是颜色代码,注意在16进制中颜色代码是反相的,如上面第3步中日期颜色代码是ff 60 5f

5f,在这里因该显示为5F 5F 60

FF,按照反序修改这个颜色代码就可以了,从3步中得知我们可以修改res\drawable-hdpi目录下的图片,进行相应修改即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值