回答:
いいえ。アプリデベロッパーにリクエストする必要があります。
UNIXのようなシステムでは、パーミッションはUIDと呼ばれるもので管理されます。
すべてのプロセスには1つあり、アクセスできるものを決定します。さらに、メンバーが使用できる許可を持つグループもあります。アプリにこのような権限Write to SD card
を持つグループに入れられるような権限がある場合。
ルート権限は、アプリのマニフェストではなくコードで宣言されているため、例外です。Rootもグループではなく、個別のUIDであるため(個別のユーザーであるため)、アプリでの使用はそれほど簡単ではありません。 ルート権限を持つアプリは、そうするために明示的に書かれる必要があります。
これが機能する方法は、アプリがrootとして何かを実行しようとするたびに、su
代わりにそれを実行するようにバイナリを要求する必要があることです。su
次に、これらの権限を管理するアプリ(SuperSUなど)に、ルートアクセス権の取得を許可するかどうかを尋ねます。そうでない場合は、許可または拒否するように求められます。その後、アクションはroot
アプリユーザーとしてではなく、として実行されます。これらのアクションはアプリの不可欠な部分ではなく、外部の実行可能ファイルです。
これをアプリに追加することは理論的には可能ですが、これは、Smaliコードの記述に関する知識を必要とする重要なプロセスです。これは、Dalvik仮想マシン(apkファイルを実行するシステムの一部)の内部フォーマットです。 smali。その場合でも、アプリが他のアプリにアクセスを許可すると、大きなセキュリティリスクが発生します。通常のアクセスとは別に特権ルートアクセスを維持する方法がわかりません。したがって、実際にはこれは実際には実現可能ではありません。
su <app>
)を使用して起動された場合、そのルートファイルにルートとしてアクセスし、権限を取得します。
あなたに役立つ方法を見つけました。これを使用して、Taskerに rootアクセスを許可しました。
ターミナルエミュレーターを使用して、フォルダーへの読み取りアクセスを許可するが書き込みアクセスを許可しない場合
su
chmod 775 /location/of/folder/
その後、テキストエディタはそのディレクトリを読み取ることができるため、フォルダにファイルを保存しようとすると、ルート権限を要求しようとします。
書き込みエラーが発生する場合もあります。
/location/of/folder/
ルートからトップまでのすべてのディレクトリは、読み取り可能/通過可能でなければなりません。また、SELinuxはアクセスを拒否する場合があります。したがって、このアプローチが実用的であることはめったにありません。