Beyond Compare怎么设置smali语法高亮

Beyond Compare怎么设置smali语法高亮,第1张

Beyond Compare是一款专业的代码比较工具,在比较smali代码差异方面,Beyond Compare允许自定义文件格式,对自定义的语法高亮显示。Smali代码虽然不是官方标准语言,但也是遵循一定的语法规范,如果有语法高亮辅助将能大大增强smali代码的可读性,

步骤一:打开Beyond Compare软件,选择文本比较会话,打开会话 *** 作界面。单击“工具“按钮,在展开的菜单中选择”文件格式“选项卡。

步骤二:在打开的文件格式窗口中,点击界面左侧底部的“+”按钮,新建一个文本格式类型,命名为“smali”,文件过滤条件为”*.smali“,完成后点击保存按钮。

步骤三:切换到“语法”选择卡,单击界面中的“+”按钮,创建“关键字”、“字符串”和“注释”三种语法,详细配置内容如下图所示。

步骤四:语法项目创建完成后,将“关键字”、“字符串”、“注释”三种语法添加到匹配规则表中,保存后关闭文件格式对话框。

步骤五:单击工具栏“视图”按钮,在展开的菜单中查看“语法加亮“选项,Beyond Compare即可对所有的smali文件进行语法高亮显示

先确定导航仪是否支持SD卡。如果是支持的,那么就找一个多功能读卡器,把SD卡插上去。然后接到电脑上读一下,先确定是SD卡的问题还是车载导航仪的问题。

将SD卡重新默认格式化一下(FAT32),再拷贝试下。

SD卡不干净,SD卡的金属区域会沾有尘埃或油污,造成卡槽接触不良,有时无法读取的状况。将SD卡金属区域擦干净试试。

卡槽金属丝生锈。现在的SD卡都支持热插拔,频繁的抽插SD卡会造成卡槽金属丝过度弯曲或生锈。仔细检查卡槽金属丝是不是弯曲或生锈,若是弯曲,用针将金属丝下挑若是生锈,清理即可。

如果是手机导航仪无法识别SD卡,大家可以试试下面的方法。以凯立德导航为列:

一、一般凯立德安装程序会按手机系统默认的存储位置寻找地图数据,如果找不到,就会按内置的一些绝对路径来寻找,假如这些绝对路径也不包含你的手机SD卡路径,那么就会出现“手机导航仪无法识别SD卡”这一问题。因此,很简单,我们要做的就是在安装程序的配置文件里添加你的手机SD卡存储绝对路径,让软件可以顺利找到地图数据。

二、修改安卓的APK文件。流程是:将原安装包反编译、修改保存、编译、签名打包。可以使用集成工具ApkTool。

三、先根据你的电脑系统选择下载并安装JAVA运行环境,解压上述工具到ApkTool文件夹,将需要修改的凯立德的apk文件复制到apktool文件夹下,并改名为123.apk,然后运行APKtool.cmd文件,选择1进行反编译,完成后会产生一个新的apk文件夹,对于凯立德v4.0,里面可以找到“smali\cld\navi\mainframe”文件夹,将其中的Navipath.smali文件用记事本打开,找到第一句路径语句

四、然后把你的手机SD卡路径覆盖上去就好了,保存这个文件。如图(注意:图中修改的路径是红米1s电信版手机,不同手机SD卡路径有不同):

对于凯立德v5.0,是修改smali\cld\custom里的AppConfig文件,方法类似。

五、怎样确定自己的手机SD卡绝对路径呢?如果你安装了微云,就很简单:打开微云,选择上传文件,就会出现选择路径,一个是内置存储路径,另一个是外置SD卡存储路径。下图示例为红米1移动版,/storage/sdcard0就是SD卡的绝对路径。而红米1s电信版的SD卡路径是:/storage/sdcard1。

六、再次运行APKTool.cmd,选择3将修改好的文件编译并签名成新的apk。完成后会在APK文件夹下新建一个Build文件夹,里面有编译并已签名的apk文件,这个就是适用于你的手机的凯立德导航安装包,使用它安装到你的手机后,就可以正常读取存在SD卡上的地图数据了。

总结:虽然上面的例子只是其中一类导航,但都可以适用于其他类型的,另外我们事先要排除SD卡本身是否有问题,再去考虑导航无法识别的问题,反正就是用排除法多试试。

带中文或者特殊字符的文件移动或复制到system文件夹以后,更改权限,删除或重命名都统统不管用,删了还会出现,恢复出厂设置或双清都没用。但是,不影响使用,只是看着闹心罢啦。现在,你要么刷机,要么不用管他。至少我没有找到能解决的其他方法。我的system文件夹里现在就有这么一个恶心的文件。另外,如果你说的那个文件在删除也不会影响系统的文件夹内,比如铃声文件夹等,可以将整个文件夹先备份后以后删除文件,那么那个文件也会被删除啦。要是文件在system文件夹内,就不能删除整个文件夹,问题还是解决不了。

如何修改apk文件[apk文件修改、图标、美化、去广告]完全教程

一、首先搭建jdk环境。

下载完后,点击安装。然后设置运行环境参数:

用鼠标右击“我的电脑”->属性->高级->环境变量

系统变量->新建->变量名:JAVA_HOME 变量值:D:\Program Files\Java\jdk1.7.0(这是我的安装路径这个不是固定的,比如你安装到C:\Program Files,就填C:\Program Files\Java\jdk1.7.0)

系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin(若已经有Path项,无须另外新建,直接在后面加,但需用与前面已有的项分隔开)

系统变量->新建->变量名:CLASSPATH 变量值:

.%JAVA_HOME%\lib%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar

最后测试下环境变量是否设置成功

点开始菜单-运行-在这里输入cmd-回车-输入javac

1.如果出现如下信息:

用法:javac <选项><源文件>

其中,可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的 *** 作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath <路径>指定查找用户类文件的位置

-cp <路径>指定查找用户类文件的位置

-sourcepath <路径>指定查找输入源文件的位置

-bootclasspath <路径>覆盖引导类文件的位置

-extdirs <目录>覆盖安装的扩展目录的位置

-endorseddirs <目录>覆盖签名的标准路径的位置

-d <目录>指定存放生成的类文件的位置

-encoding <编码>指定源文件使用的字符编码

-source <版本>提供与指定版本的源兼容性

-target <版本>生成特定 VM 版本的类文件

-version 版本信息

-help 输出标准选项的提要

-X 输出非标准选项的提要

-J<标志>直接将 <标志>传递给运行时系统

恭喜,你的Java环境变量配置成功了!

2.如果出现:

'javac' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

说明这Java环境变量配置出错了,仔细检查下吧!

二、下载APKTools工具包(里面包含:APKTools反编译工具、APKSign签名工具)。下载Notepad代码编辑器(可以修改smali和xml文件)。

在修改之前首先对APK文件内部结构有个了解:

AndroidManifest.xml 程序全局配置文件

classes.dex 这是Dalvik字节码

resources.arsc 编译后的二进制资源文件

META-INF\ 该目录下存放的是签名信息

res\ 该目录存放资源文件

assets\ 该目录可以存放一些配置文件

对应这些文件和目录做些基本的注释和介绍:

AndroidManifest.xml

该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。

classes.dex文件

classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

resources.arsc

编译后的二进制资源文件。

META-INF目录

META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。

res目录

res目录存放资源文件。包括图片,字符串等等。

解包后,几乎所有可能的修改和编辑工作基本都在这里。

assets目录

assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。

APK文件修改,首先要对APK文件解包(也就是反编译),打开apktool.exe,如图:

左边APK反编译区,选择APK文件,选择文件保存目录,点反编译APK按钮,得到解包文件。

三、开始修改

1. 如果只是对图像进行替换,没有必要进行解包和打包。用WinRAR打开APK文件,直接做替换就可以了。但是,如果要对文字和其它非图像类内容进行修改,那只能通过解包了,改好后,再编译回来,最后签名才能放进手机安装。下面介绍几个对APK进行解包和打包的案例。

2. 汉化APK软件

在res文件夹中,我们可以看到有很多values-***的文件夹,这就是语言包。values是英文语言包,values-zh是中国地区语言包(包含港澳台及内地),values-zh-rCN是中文简体语言包(只包含内地),values-zh-rTW是中文繁体语言包(港澳台)。除此以外,其它地区的语言包都是精简的对象,可以不过多了解。

在values文件夹里,通常有arrays.xml、strings.xml等语言文件,要作汉化就要对这些文件进行修改。有时也需要修改其它xml文件,一个一个地认真查看。改好后,打包,签名,OK。

3. 修改桌面图标名称(标签)

每一个APK文件都有一个“图标标签”。将APK程序安装进手机后,在图标下面显示图标标签文字。这个图标标签的内容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:

图标标签

例如:静音启动

同理,如果是窗口小插件,要修改widget_name。

注意:system/app下的apk不宜修改,因为要同时修改对应的odex文件。

改好后,打包,签名,OK。

4. 去掉APK中的广告

有很多APK应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关的内容。在\res目录下找到文件main.xml。通常在\layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。

将其改为:

可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它保持不变即可。这种改法就是不给广告显示空间,当然你就看不到广告了。

改好后,打包,签名,OK。

5. 修改显示电池为1%精度

举个例子比如在摩托罗拉XT502上,默认显示只有7档: 0%,10%,20%,40%,60%,80% 和100%。通过修改framework-res.apk,可以改变显示精度。但是在一些手机上,实践证明最好可能达到的现实精度只有10%。修改工作如下:

(1) 对framework-res.apk进行解包

(2) 修改和增加电池状态图标

(3) 修改文件stat_sys_battery.xml

(4) 修改文件stat_sys_battery_charge.xml

(5) 打包

(6) 提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一个图标目录:drawable-mdpi

(7) 重新装配framework-res.apk

6. 状态栏信息通知文字颜色修改

状态栏信息通知文字颜色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我们只需修改colors.xml文件就可以了。另外,此文件还控制下拉栏的文字颜色,可以修改。

用文本编辑器打开colors.xml文件,找到

#ff000000

将这句修改为:#ffffffff

这状态栏信息通知文字颜色由黑色改为白色。

改好后,打包,签名,OK。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11476158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存