我正在尝试在我的root用户Nexus 4上运行sqlite3。我已经将可执行文件推送到/ sdcard但我无法执行它。我运行Android 4.3的股票,根据SuperSU 1.45。
该文件如下所示:
-rw-rw-r-- root sdcard_rw 36860 2013-09-30 17:29 sqlite3
到目前为止:
chmod 777 sqlite3
什么都不做File.setExecutable()
返回false(但File.exists()
返回true)。有更好的方法吗?
答案 0 :(得分:16)
SD卡通常格式化为FAT32,并且装有所有无法执行的文件。 Nexus 4上的SD卡目录是模拟目录,但系统仍然会阻止其中的任何文件被标记为可执行文件。您需要将文件移到SD卡之外以将其标记为可执行文件。
答案 1 :(得分:2)
chmod 777 sqlite3什么都不做......
chmod + x不起作用......我得到“坏模式”。
“错误模式”来自a+x
,+x
等。请记住,它的八进制。尝试:
chmod 0777 sqlite3
Yuichi可能是正确的 - /mnt/sdcard
很可能与noexec
挂起。
答案 2 :(得分:1)
我知道这是一个老问题。
但是我想通过在sdcard中创建磁盘.img
文件然后将其挂载到/ data /
嗯,我知道这是多余的,但至少如果您的内部磁盘空间不足,它可以用作解决方法。
此处需要一些说明。
adb shell
到您的设备,/sdcard
(每个设备的设置点可能会有所不同)dd if=/dev/zero of=<your-new>.img bs=1M count=0 seek=2048
。这将创建一个名为<your-new>.img
的新图像文件,将搜索值更改为您想要的大小(例如2048 = 2GB)。如果dd不可用,请先尝试安装busybox
,然后再从dd
更改为busybox dd
<yout-new>.img
,在我的情况下,我使用了ext2。例如。 mke2fs -F ubuntunew.img
<your-new>.img
挂载到/data
。例如。 mount -o loop /sdcard/<your-new>.img /data/<your-mount-point>
。如果mount
命令不可用,请使用busybox
。确定。这就是全部
参考文献:
https://forum.xda-developers.com/showthread.php?t=2743108 https://linuxonandroid.uservoice.com/knowledgebase/articles/74683-how-to-i-give-linux-more-space