Skip to content

An android app that can hide other apps' icon in the launcher without root permission. 一个用于隐藏应用的app(不需要Root权限)

Notifications You must be signed in to change notification settings

leigegeok/Evil-Hide

 
 

Repository files navigation

中文 | English

Evil Hide

隐藏app的app。用处自己挖掘。

1

注意:

只在Nexus 4、Nexus 5X上测试通过,小米手机不能使用(MIUI会把不在近期任务列表里的应用杀掉,导致应用的BroadcastReceiver不能响应拨号事件)

特点:

  • 可以隐藏软件自身的图标,并通过在拨号盘输入暗号启动应用
  • 不需要root!(仅限原生Android 5.0以上,一般而言,Nexus家族是可以使用的,包括但不限于Nexus 4、Nexus 5、Nexus 5x、Nexus 6P等,第三方厂商自己修改过的ROM不可使用,包括但不限于三星,小米,华为等)

原理

在Android 5.0以下使用以下命令显示和隐藏(需要root权限):

adb shell pm endable <package_name>
adb shell pm disable <package_name>

在Android 5.0及以上使用以下命令显示和隐藏(不需要root,但是需要系统权限):

adb shell pm hide <package_name>
adb shell pm unhide <packag_name>

区别: hide命令相当于uninstall -k卸载应用但是保留数据

实际上,hide命令最终调用了以下函数(来自android.content.pm.PackageManager). 不幸的是, 它被标识为@hide, 所以在Android SDK中,你无法通过正常手段调用它.

/**
 * Puts the package in a hidden state, which is almost like an uninstalled state,
 * making the package unavailable, but it doesn't remove the data or the actual
 * package file. Application can be unhidden by either resetting the hidden state
 * or by installing it, such as with {@link #installExistingPackage(String)}
 * @hide
 */
public abstract boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
        UserHandle userHandle);

用法:

如果你想使用非root版本,请确保满足条件并切换到noroot分支

git checkout noroot

本软件的默认启动密码是#1234 启动方式: 打开拨号盘,输入#1234,再拨出,就可以启动本应用了,然后在应用列表里选择应用是否隐藏即可

待做列表:

  • Android 6.0的权限管理
  • 当检测到手机是Android 4.4以上时,使用pm hide代替pm disable
  • 使用密码启动被隐藏的应用

About

An android app that can hide other apps' icon in the launcher without root permission. 一个用于隐藏应用的app(不需要Root权限)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Kotlin 100.0%