查看Android/CyanogenMod 发烧笔记的源代码
←
Android/CyanogenMod 发烧笔记
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
==== 修改包 ==== 需要在 Dalvik 甚至 ARM 指令集的层面上去修改APP的,一般出于以下情形: * 优化,移除不需要的组件 * 反流氓,探寻流氓APP搜集用户隐私数据并上传服务器的代码,取证后移除 * 反广告,移除广告代码 * 汉化 先来看看 MIUI V5 下,隐藏在 com.andorid.settings(系统设置)中的查毒模块,是啥样的 先打开上个步骤中解包后目录下的 AndroidManifest.xml 文件,找到: <pre> <activity android:theme="@miui:style/V5.Theme.Light.NoTitle" android:label="@string/virus_scanner_title" android:icon="@drawable/virus_scan_icon" android:name=".VirusScanActivity" android:taskAffinity="com.android.settings.VirusScanActivity" android:launchMode="singleTop" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:theme="@miui:style/V5.Theme.Light.NoTitle" android:name=".VirusScanAppActivity" android:taskAffinity="com.android.settings.VirusScanActivity" android:screenOrientation="portrait" /> <service android:name=".VirusScanService"> <intent-filter> <action android:name="com.android.service.VIRUS_SCAN_SERVICE" /> <action android:name="miui.intent.action.UPDATE_VIRUS_LIB" /> </intent-filter> </service> </pre> Android 的APP没有统一的函数入口(比如C中的 main() 函数),其是由 Activity, Service 等等这些组件组成,Activity相当与APP的与用户互动的一个功能,Service则是跑在后台的服务,没有图形界面,用户一般看不到 这两个 Activity (VirusScanActivity和VirusScanAppActivity) 和一个 Service (VirusScanService)就是与查毒模块相关的组件定义,其实际代码在: <pre> $ ls smali/com/android/settings/VirusScan* ...... smali/com/android/settings/VirusScanActivity$2.smali smali/com/android/settings/VirusScanAppActivity$FinishRiskScan.smali smali/com/android/settings/VirusScanActivity$3.smali smali/com/android/settings/VirusScanAppActivity$NormalScan.smali smali/com/android/settings/VirusScanAppActivity$7.smali smali/com/android/settings/VirusScanService$ScanBinder.smali smali/com/android/settings/VirusScanAppActivity$FinishNoRiskScan.smali smali/com/android/settings/VirusScanService$UpdateVirusLibTask.smali smali/com/android/settings/VirusScanAppActivity$FinishRiskScan$1.smali ...... </pre> 重度发烧想彻底移除的朋友可以尝试一下。 Dalvik的汇编语言参考: * Bytecode for the Dalvik VM: http://www.netmite.com/android/mydroid/dalvik/docs/dalvik-bytecode.html * Dalvik opcodes: http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html <br><br>
返回到
Android/CyanogenMod 发烧笔记
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面