2

スタンドアロン APK ファイルを生成できる Android 用の代替ツールチェーンまたは言語はありますか?

理想的には、巨大で絶え間なく変化し、常にアップグレードされている公式の Android SDK に依存すべきではありません。

たとえ話として、Microsoft が常に新しい Visual Studio をリリースしているにもかかわらず、PowerBASICMingwがプレーンな Windows を問題なくターゲットにする方法とほぼ同等のものを探しています。

この言語またはツールチェーン自体が Android プログラムである場合のボーナス ポイント...

4

2 に答える 2

6

ご存知かもしれませんが、Android ツールチェーンはいくつかの単純なアイデアに基づいています。

  • コードはプレーンな古い Java コンパイラを使用してコンパイルされ、システム ライブラリとのリンクのために Android スタブ (android.jar) とリンクされます。
  • コンパイル後、コードは dex 形式に変換されます。実際にこれを自分で実行できますdx --help。このツールの仕事は、dxJava クラス ファイルを取得し、それらを dex コードに変換することです。これは、スタック ベースからレジスタ ベースの vm への移行を含む非常に簡単なコンパイルと、その他のいくつかの変更です。
  • これを配置した後、一連の apk ツールを使用して apk を構築します。以前apkbuilderは でしたが、これは非推奨になりました。実際にこれを自分で実行することもできます。APK はすべて、マニフェスト、リソース、および dex 形式のすべてのコードの 1 つのファイルの単なるコレクションです。(つまり、多くの .class ファイルは、ラップされたポインターの Web のためにかなり小さい単一の .dex にコンパイルされます)。

したがって、Android ツールチェーンはそれほど複雑ではありません。build.xmlカスタム ビルド プロセスは、platform-tools/ディレクトリ (iirc)にある SDK 全体で定義されている ant ビルド ルールによって処理されます。ただし、このカスタム ビルド環境を使用して新しいベースライン プロジェクトを生成するには、android update projectコマンドを使用するだけです。

これがあなたが望んでいた反応かどうかはわかりませんが、ビルド プロセスの曖昧さが解消されることを願っています。ツールチェーンはそれほど複雑ではなく、その大部分は市販の Java であり、Android 固有のものではありません (Android 固有のものは、動的にリンクされたシステム コードのライブラリ固有のスタブだけです)。さらに、一連のクラスを取得したら、いくつかのコマンドを実行するだけで、Android がアンパックする実行可能な APK を作成できます。JVM をターゲットとするツール (および Android 固有の動的にリンクされた API とリンクできるツール) は、クラス ファイルを生成し、このツールチェーンを使用して残りの部分をコンパイルするという同様のプロセスを実行できると思いますが、明らかに自動化された ant ビルド プロセスははるかに簡単になります。

編集:

さらに掘り下げた後、この関連する android-developers スレッドを見つけました。 不穏な引用:

現時点では、独自のビルド システムを使用したい人をサポートするためのリソースがありませんが、できることを心から願っています。多くの点で、ロジックを eclipse または ant 固有のコードに明確に分離することで、他のツール ベンダーが簡単に使用できるようにしています (そのため、ツールと ADT のいたるところに多数の jar ファイルがあります) が、これはその 1 つではありません。

ただし、このリンクも役立つ場合があります。

于 2012-06-11T00:08:43.320 に答える
2

Terminal-IDEAIDEは、まさに私が探していたものです。どちらも Android で動作します。

于 2012-06-11T01:40:26.977 に答える