以编程方式在Android中检查自定义ROM



我想在我的应用中检查设备是否具有自定义ROM。这样,我在应用程序中启用并禁用了某些功能。请帮助我。

在您的代码中检查这些属性,然后将其与Google库存图像进行比较。

System.getProperty("os.version"); // OS version
android.os.Build.VERSION.SDK      // API Level
android.os.Build.DEVICE           // Device
android.os.Build.MODEL            // Model 
android.os.Build.PRODUCT          // Product

几乎所有自定义ROM都植根于所有自定义ROM,因此您还可以检查设备是否植根。以下是检查root的代码。

    public static boolean isRooted() {
    // get from build info
    String buildTags = android.os.Build.TAGS;
    if (buildTags != null && buildTags.contains("test-keys")) {
      return true;
    }
    // check if /system/app/Superuser.apk is present
    try {
      File file = new File("/system/app/Superuser.apk");
      if (file.exists()) {
        return true;
      }
    } catch (Exception e1) {
      // ignore
    }
    // try executing commands
    return canExecuteCommand("/system/xbin/which su")
        || canExecuteCommand("/system/bin/which su") || canExecuteCommand("which su");
  }
  // executes a command on the system
  private static boolean canExecuteCommand(String command) {
    boolean executedSuccesfully;
    try {
      Runtime.getRuntime().exec(command);
      executedSuccesfully = true;
    } catch (Exception e) {
      executedSuccesfully = false;
    }
    return executedSuccesfully;
  }

ps-仿真器是扎根的设备。在实际设备上测试

System.getProperty("os.version"); // OS version
android.os.Build.VERSION.SDK      // API Level
android.os.Build.DEVICE           // Device
android.os.Build.MODEL            // Model 
android.os.Build.PRODUCT          // Product

使用此功能,然后将其与Google库存图像进行比较。一件事,几乎有99%的自定义ROM已扎根,因此您可以检查设备是否已植根。Roottools库提供了简单的方法来检查根:

rottools.isrootavailable((

您可以参考以下链接以获取更多详细信息如何找出ROM提供商是谁?对于Roottools,使用以下链接

https://github.com/stericson/roottools

尝试使用google saftynet服务(它检测到启动加载程序是否已解锁,要安装自定义的ROM引导程序必须被解锁(...可以欺骗它,但不知道很多用户知道如何做那。如果您仅检测到root,则应用程序也不会在库存ROM上运行,

相关内容

  • 没有找到相关文章

最新更新