Git Product home page Git Product logo

deviceoptimizehelper's Introduction

DeviceOptimizeHelper

DeviceOptimizeHelper-Main 是一个 Android 上的可执行文件,以 root 权限执行 app_process 命令,从 /data/local/tmp/ 目录加载预编译的 Dex 文件,用于配置和管理 Android 设备上的用户限制政策。该工具提供了一组功能和实用工具,允许管理员配置和管理 Android 设备上的用户权限,类似于 Windows 系统中的组策略功能。

特点

  • 用户限制政策:管理员可以通过从 /data/local/tmp/ 目录加载预编译的 Dex 文件来配置各种用户限制政策,例如防止恢复出厂设置、控制应用程序(卸载、禁用、清除数据、强制停止、清除默认应用程序)等限制政策。

  • 其他限制类型:要了解有关 UserManager 的源代码以及 Android 系统中可用的限制类型的更多信息,请查看UserManager 源代码

使用方法

要使用 DeviceOptimizeHelper,请按照以下步骤在您的 Android 设备上操作:

  1. 将预编译的 Dex 文件复制到设备:将生成的 Dex 文件,例如 classes.dex,复制到 Android 设备上的 /data/local/tmp/ 目录中。这是因为某些情况下,由于权限原因,system 权限可能无法访问 /sdcard 目录。请确保将 Dex 文件放置在 /data/local/tmp/ 目录以顺利加载。

  2. 打开终端:连接到您的 Android 设备并打开终端窗口。

  3. 以 su 权限运行应用程序:在终端中,使用以下命令以 su 权限运行 classes.dex

su system -c "app_process -Djava.class.path=/data/local/tmp/classes.dex / ma.DeviceOptimizeHelper.Main"

自行编译

如果您希望自行编译 DeviceOptimizeHelper 项目并调用 setUserRestrictionReflect 方法来自定义用户限制政策,可以按照以下步骤操作:

  1. 克隆项目:首先需要使用以下命令将DeviceOptimizeHelper 项目克隆到本地计算机。:
git clone https://github.com/sbmatch/DeviceOptimizeHelper.git
  1. 导入项目:然后,他们可以使用 Android Studio 或其他适当的 IDE 导入项目。

  2. 编辑 Main.java 文件:打开位于项目的 app/src/main/java/ma/DeviceOptimizeHelper/ 目录下的Main.java文件。在这个文件中找到 setUserRestrictionReflect 方法。

  3. 自定义用户限制政策:通过调用 setUserRestrictionReflect 方法,他们可以传递相关参数来自定义用户限制政策。根据方法的实现,他们可以添加、删除或修改不同的用户限制。

  4. 编译项目:在编辑完 Main.java 文件后,运行Build编译整个项目。

  5. 生成 Dex 文件:编译成功后,在命令行中运行以下命令以生成 Dex 文件。:

d8 app\build\intermediates\javac\debug\classes\android\accounts\*.class app\build\intermediates\javac\debug\classes\ma\DeviceOptimizeHelper\*.class --lib "D:\envTools\android-sdk-windows\platforms\android-33\android.jar"
  • D:\envTools\android-sdk-windows\platforms\android-33\android.jar 应替换为您实际的 android.jar 文件路径。

许可证

DeviceOptimizeHelper 使用 MIT 许可证

deviceoptimizehelper's People

Contributors

xmtx666 avatar itoseo avatar sbmatch avatar

Stargazers

 avatar  avatar  avatar  avatar Xsit avatar  avatar XBaiLong avatar 李智乐 avatar  avatar  avatar 小丑901 avatar  avatar Mayuu酱重症患者 avatar  avatar  avatar  avatar kklby avatar  avatar tinyfight avatar  avatar Buerck avatar 极光0 avatar  avatar  avatar  avatar  avatar  avatar xiao_wine avatar Howard Wu avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

deviceoptimizehelper's Issues

mumu模拟器无法正常使用root权限

mumu模拟器无法正常使用root权限
更新1.0.3提交后的问题

我分析了一下,应该是main.java出问题了,我把exec传参是否选择system改成false就不弹窗了(当然,操作肯定也无效)
MuMu12-20230915-181103

android13 oneui 5.1崩潰

[Stack Trace]:
java.lang.RuntimeException: Only one Looper may be created per thread
at android.os.Looper.prepare(Looper.java:123)
at android.os.Looper.prepare(Looper.java:118)
at ma.DeviceOptimizeHelper.MainActivity.getResIdReflect(MainActivity.java:588)
at ma.DeviceOptimizeHelper.MainActivity$HeaderFragment.onCreatePreferences(MainActivity.java:437)
at androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:161)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:2949)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:475)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:278)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3138)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1510)
at android.app.Activity.performStart(Activity.java:8616)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4204)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2574)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8762)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.