18

ルート化された Nexus 4 で sqlite3 を実行しようとしています。実行可能ファイルを /sdcard にプッシュするところまで到達しましたが、実行できません。SuperSU 1.45 をルートとする Android 4.3 を実行しています。

ファイルは次のようになります。

-rw-rw-r-- root     sdcard_rw    36860 2013-09-30 17:29 sqlite3

ここのところ:

  • chmod 777 sqlite3何もしません
  • File.setExecutable()false を返します (ただし、File.exists()true を返します)。

これを行うより良い方法はありますか?

4

3 に答える 3

19

通常、SD カードは FAT32 としてフォーマットされ、すべてのファイルが実行不可能な状態でマウントされます。Nexus 4 の SD カード ディレクトリはシミュレートされたものですが、それでもシステムはその中のファイルが実行可能としてマークされるのを防ぎます。ファイルを実行可能としてマークするには、ファイルを SD カードの外に移動する必要があります。

于 2013-10-01T01:08:42.630 に答える
3

chmod 777 sqlite3 は何もしません...

chmod +x が機能しません...「悪いモード」になります。

「悪いモード」は 、 などからa+xのもの+xです。8 進数であることを思い出してください。試す:

chmod 0777 sqlite3

と雄一はおそらく正しい -/mnt/sdcardでマウントされている可能性がありnoexecます。

于 2014-08-14T03:48:43.540 に答える
2

私はこれが古い質問であることを知っています。.imgしかし、sdcard にディスク ファイルを作成し、それを /data/ にマウントすることで、この問題の別の回避策を提案したいと思います。

かなり冗長であることはわかっていますが、少なくとも、内部ディスクの空き容量が少ない場合の回避策として使用できます。

ここでは、必要に応じていくつかの手順を示します。

  1. adb shellあなたのデバイスに、
  2. go to /sdcard(マウントポイントはデバイスごとに異なる場合があります)
  3. dd if=/dev/zero of=<your-new>.img bs=1M count=0 seek=2048. これにより、新しいイメージ ファイルが作成され<your-new>.img、シーク値を必要なサイズに変更します (例: 2048 = 2GB)。dd が利用できない場合は、最初にインストールを試みbusybox、次にdd変更からbusybox dd
  4. Format <yout-new>.img、私の場合はext2を使用しました。例えば。mke2fs -F ubuntunew.img
  5. にマウント<your-new>.img/dataます。例えば。mount -o loop /sdcard/<your-new>.img /data/<your-mount-point>. mountコマンドが使用できない場合は、 を使用しますbusybox

Ok。それで全部です

参考文献:

https://forum.xda-developers.com/showthread.php?t=2743108 https://linuxonandroid.uservoice.com/knowledgebase/articles/74683-how-to-i-give-linux-more-space

于 2018-05-23T06:43:36.093 に答える