当前位置: 首页 > 知识库问答 >
问题:

在Android中,我无法通过编程将chmod更改为777

凌成天
2023-03-14

我有一个根设备,希望更改/system/app中的apk(Prueba.apk)的chmod权限,以便使用BusyBox中的RootTools库。我的代码是:

        Command comando = new Command(0, "chmod 777 /system/app/Prueba.apk");
    try {
        RootTools.getShell(true).add(comando);
    } catch (IOException | RootDeniedException | TimeoutException ex) {
        ex.printStackTrace();
    }

但当我检查时,在使用根文件资源管理器运行该代码后,我看到chmod对Prueba的权限已被删除。apk没有改变。

共有2个答案

宋劲
2023-03-14

问题是,当我作为RW安装系统分区时,我是这样做的:

        Command comando = new Command(0, "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system/app";
    try {
        RootTools.getShell(true).add(comando);
    } catch (IOException | RootDeniedException | TimeoutException ex) {
        ex.printStackTrace();
    }

但是正确的方法是使ALL系统分区RW而不仅仅是 /system/app文件夹,所以我将代码更改为:

        Command comando = new Command(0, "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system";
    try {
        RootTools.getShell(true).add(comando);
    } catch (IOException | RootDeniedException | TimeoutException ex) {
        ex.printStackTrace();
    }

然后我可以完美地执行chmod777命令。

寇桐
2023-03-14

在运行需要root访问的代码之前,您应该尝试使用su-c/system/*是只读的,命令应该由root运行,但是首先/system分区需要装入为读取和写入。有多种方法可以做到这一点,但是对于我的Nexus 5x来说,这是可行的:
挂载-o rw,重新挂载 /system然而,这种方法可能不起作用,所以尝试一种不同的挂载r/o的方法

 类似资料:
  • 我最近用了这些教程:

  • 问题内容: 应用 http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css和 http://code.jquery.com/mobile/1.3.2/jquery.mobile后-1.3.2.min.js 无法通过脚本更改按钮的文本 有没有类似的经验并有解决方案? 可以从 FIDDLE 尝试DEMO **** JQUERY: H

  • 应用http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css和http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js后 无法通过脚本

  • 我正在尝试更改Web视图元素的字体。我创建了一个网页并放置了。ttf文件。我打开页面,它看起来很好。现在我想使用webview来显示它。因为我使用的是推特引导,所以我使用加载URL的方法来加载页面。 页面确实加载了,但字体错误。在我的css样式文件中,我尝试了这些(我的html文件在'www'目录的资产文件夹中,我也将字体放在该文件夹中): 我还尝试在资产文件夹中创建一个“字体”目录,并将我的字体

  • 问题内容: 我正在使用MS SQL Server,并且想通过执行“将viewname更改为([somesql])”之类的东西来更改存储过程中的视图。 google抛出的一些页面断言,它不直接受支持(也没有相关的alter-table语句),但是也有一些示例,说明了如何使用如下构造方法来解决此问题: 以文字字符串形式编写代码有一点气味,即使对于SQL来说也是如此。 我的问题: 为什么不支持此功能?从

  • 但是,如果我先在画布上画一些其他的东西,然后尝试用透明度清除它,旧的数据仍然存在。例如: 我只看到一个巨大的红场。底部的两条线应该是“抹去”填充的红色,使其再次透明。最终,面具被绘制在另一张画布上,如下所示: