在Android Settings.apk中新增到其他APK的链接
1.首先用 ApkTool 反编译 Setting.apk,打开 \res\xml\settings.xml,可以看到Settings选项都在里面定义了,在希望加入的地方添加
1.首先用 ApkTool 反编译 Setting.apk,打开 \res\xml\settings.xml,可以看到Settings选项都在里面定义了,在希望加入的地方添加
<com.android.settings.IconPreferenceScreen android:title="@string/hiapk_settings" android:key="hiapk_settings" settings:icon="@drawable/ic_cyanogenmod">
<intent android:targetPackage="com.menethil.hiapk.settings"android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />
< /com.android.settings.IconPreferenceScreen>
其中
android:title="@string/hiapk_settings" 是显示的标题索引名,
settings:icon="@drawable/ic_cyanogenmod" 为图标索引名
<intent android:targetPackage="com.menethil.hiapk.settings" android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />为设定要启动的包名和Activity,可以用 ApkTool 反编译要启动的程序,然后打开 AndroidManifest.xml 查
看 package="com.android.settings" 就是包名,至于启动的Activity,只要找到
<category android:name="android.intent.category.LAUNCHER" />
往上找他所属的Activity,可以看到类似
<activity android:label="@string/settings_label" android:name="Settings" android:taskAffinity="com.android.settings" android:clearTaskOnLaunch="true" android:launchMode="singleTop">
其中
android:name="Settings" ,Settings就是Activity名,加上包名就是 com.android.settings.Settings,也就是我们需要的 android:targetClass 的值。
2.在drawable中放入 settings:icon="@drawable/ic_cyanogenmod" 所定义的图标,名称必须是跟定义的一致,例如这里定义为 ic_cyanogenmod ,放入图标名字就必须是 ic_cyanogenmod.png
3.打开 /res/values/string.xml 和 /res/values-zh-rCN/string.xml ,/res/values-zh-rTW/string.xml ,在其中加入 android:title="@string/hiapk_settings" 定义的字符串的值,以中文 values-zh-rCN 为例:
<string name="hiapk_settings">高级设置</string>4.重新打包 apk,签名,收工。
<intent android:targetPackage="com.menethil.hiapk.settings"android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />
< /com.android.settings.IconPreferenceScreen>
其中
android:title="@string/hiapk_settings" 是显示的标题索引名,
settings:icon="@drawable/ic_cyanogenmod" 为图标索引名
<intent android:targetPackage="com.menethil.hiapk.settings" android:targetClass="com.menethil.hiapk.settings.HiapkSettings" />为设定要启动的包名和Activity,可以用 ApkTool 反编译要启动的程序,然后打开 AndroidManifest.xml 查
看 package="com.android.settings" 就是包名,至于启动的Activity,只要找到
<category android:name="android.intent.category.LAUNCHER" />
往上找他所属的Activity,可以看到类似
<activity android:label="@string/settings_label" android:name="Settings" android:taskAffinity="com.android.settings" android:clearTaskOnLaunch="true" android:launchMode="singleTop">
其中
android:name="Settings" ,Settings就是Activity名,加上包名就是 com.android.settings.Settings,也就是我们需要的 android:targetClass 的值。
2.在drawable中放入 settings:icon="@drawable/ic_cyanogenmod" 所定义的图标,名称必须是跟定义的一致,例如这里定义为 ic_cyanogenmod ,放入图标名字就必须是 ic_cyanogenmod.png
3.打开 /res/values/string.xml 和 /res/values-zh-rCN/string.xml ,/res/values-zh-rTW/string.xml ,在其中加入 android:title="@string/hiapk_settings" 定义的字符串的值,以中文 values-zh-rCN 为例:
<string name="hiapk_settings">高级设置</string>4.重新打包 apk,签名,收工。