简体中文 | English
English is not my native language. Help us translate README
Hail is a free software to freeze Android apps. Enjoy all features freely!
CoolApk releases are signed the same as GitHub Releases, and F-Droid releases are signed by F-Droid.
Google Play releases are the Fork by @purofle, signed by Google.
Freeze is a word to describe the action of forbid apps when they are unnecessary to use device in a better way, cut down the usage of ram and save power. User can unfreeze it to revert.
There are two ways to "freeze" apps, hide and disable.
Hidden apps will not shown in launcher and installed app list. Unhide them to revert.
Disable apps will not shown in launcher. Enable them to revert.
Hail can work with Device Owner - Hide
, Superuser - Disable
and Shizuku - Disable
.
The way of hide and disable are different, unfreeze app request the same way.
-
For devices support wifi adb or rooted,
Shizuku - Disable
is recommend. About Shizuku -
For rooted devices,
Superuser - Disable
is alternative. It is slower. -
Select
Device Owner - Hide
otherwise. It is unstable on some devices.
This mode invoke DevicePolicyManager.setApplicationHidden
to hide apps.
You must remove device owner before uninstall
Android Debug Bridge (adb) Guide
Download Android SDK Platform-Tools
Issue adb command:
adb shell dpm set-device-owner com.aistra.hail/.receiver.DeviceAdminReceiver
A message will shown if it has been successfully set:
Success: Device owner set to package com.aistra.hail
Active admin set to component {com.aistra.hail/com.aistra.hail.receiver.DeviceAdminReceiver}
Search the message by search engine otherwise.
Click Hail at Apps, then select Uninstall in options.
This mode execute pm disable
to disable apps.
This mode invoke non-SDK interface IPackageManager.setApplicationEnabledSetting
to disable apps.
Replace com.package.name to the package name of target app, where you can copy it by long click at Apps.
adb shell pm unhide com.package.name
For rooted devices:
adb shell su -c pm unhide com.package.name
adb shell pm enable com.package.name
For rooted devices:
adb shell su -c pm enable com.package.name
Access /data/system/users/0/package-restrictions.xml
, this file stores the restrictions about
apps. You can modify, rename or just delete it.
-
Unhide app: Modify the value of
hidden
from true to false -
Enable app: Modify the value of
enabled
from 2 (DISABLED) or 3 (DISABLED_USER) to 1 (ENABLED)
None of my business :(
Replace com.package.name to the package name of target app, where you can copy it by long click at Apps.
Java
public class MainActivity extends AppCompatActivity {
private void launchApp() {
try {
Intent intent = new Intent();
intent.setAction("com.aistra.hail.action.LAUNCH");
intent.putExtra("package", "com.package.name");
startActivity(intent);
} catch (Exception e) {
Toast.makeText(this, "Hail not installed", Toast.LENGTH_SHORT).show();
}
}
}
Kotlin
class MainActivity : AppCompatActivity() {
private fun launchApp() {
try {
val intent = Intent()
intent.setAction("com.aistra.hail.action.LAUNCH")
intent.putExtra("package", "com.package.name")
startActivity(intent)
} catch (e: Exception) {
Toast.makeText(this, "Hail not installed", Toast.LENGTH_SHORT).show()
}
}
}
action
can be one of the following constants:
-
com.aistra.hail.action.LAUNCH
: Unfreeze and launch target app. If it is unfrozen, it will launch directly. -
com.aistra.hail.action.FREEZE
: Freeze target app. It must be checked at Home. -
com.aistra.hail.action.UNFREEZE
: Unfreeze target app. -
com.aistra.hail.action.FREEZE_ALL
: Freeze all apps at Home.extra
is not necessary. -
com.aistra.hail.action.UNFREEZE_ALL
: Unfreeze all apps at Home.extra
is not necessary. -
com.aistra.hail.action.FREEZE_NON_WHITELISTED
: Freeze all non-whitelisted apps at Home.extra
is not necessary. -
com.aistra.hail.action.LOCK
: Lock screen.extra
is not necessary. -
com.aistra.hail.action.LOCK_FREEZE
: Freeze all apps at Home and lock screen.extra
is not necessary.
Translate app/src/main/res/values/strings.xml
and put it in the corresponding path.
or
-
Create an issue about which language you want to translate into.
-
We will create a string resource file in the corresponding path.
-
Translate it and create a pull request.
Thank you!
- 繁體中文 @cracky5322
- 日本語 @AokiFuru @404potato
- Русский @tommynok
- Español @cyanwolfg
- Deutsch @Enkidu70
- Українська @Operator404
Hail - Freeze Android apps
Copyright (C) 2021-2023 Aistra
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.