0

私は次の疑問を持っています:

私はandroidosがlinuxに基づいていることを読みました、そして私はそれがubuntuと同じ構造を持っているかもしれないと想像します(ファイル構成に関して:/ root、/ devなど)。それで、AndroidでCで書かれたアプリケーションを実行することは可能ですか?Ubuntuでできるのと同じように?もしそうなら、どうすればそれを行うことができますか?

また、Androidアプリケーション(Javaで記述)を介してルートファイルにアクセスするにはどうすればよいですか?そして、OSの動作にアクセスする方法(たとえば、中断の観点から)?

よろしくお願いします。

ガス

4

4 に答える 4

1

基本的な回答: ネイティブ開発キット (NDK) を使用する場合を除き、Android での C アプリの実行はサポートされていません。

電話をルート化しない限り、ルートファイルにアクセスすることはできません。

API を介して一部の OS 動作にアクセスできます。基本的に、API の一部でないとアクセスできません。

Android OS はLinuxベースですが、これは OS であり、X のようなウィンドウ サーバーや、Gnome や KDE のようなデスクトップ環境ではありません。

于 2012-06-05T17:17:27.120 に答える
0

C and C++NDK を使用して Android でコードを実行できます。フレームワークも使用できますQT。ただし、コードは Davlik という名前の仮想マシンで実行されています。Android には root アカウントがありますが、デフォルトではユーザーは利用できません。したがって、ディレクトリへのアクセスは に依存しchmodます。

Android での低レベルへのアクセスについて読みたい場合: http://www.phrack.org/issues.html?issue=68&id=6

そして、このシステムのアーキテクチャについて: https://developer.android.com/guide/basics/what-is-android.html

于 2012-06-05T17:14:20.417 に答える
0

を使用してプログラムを実行できますRuntime.exec。例として、 ssh、vim、bash などのさまざまなプログラムを実行するターミナル IDEを見ることができます。また、オープンソースであるため、コードから学ぶことができます。おそらく、実行可能ファイルをリソースまたはアセットとして含めてから、ローカル ディレクトリにコピーし、実行権限を付与してから、Runtime.exec. デバイスがルート化されていて、ルート アクセスを要求しない限り、アプリは制限付きアカウントで実行されるため、制限付きのユーザー アクセス許可が引き続き適用されます。

于 2012-06-05T17:35:55.143 に答える
0

Android スマートフォン/タブレットは、x85 ではなく Arm CPU で動作します。アーキテクチャが異なります。ただし、arm linux 用にクロスコンパイルすれば、Android で C アプリケーションを実行できます。または、Android デバイス内で ac コンパイラを使用できます。人々はcコンパイラをandroidに移植しました。C4DROID と Android マーケットで試すことができます。ただし、SD カードに関する Android のアクセス許可のため、コンパイルされたプログラムはシステム メモリでしか実行できません。

于 2012-06-06T11:30:34.250 に答える