1

android-developers グループでこの質問をしましたが、何の回答も得られなかったので、ここで試してみようと思いました。

ADT Eclipse プラグインは、Android プロジェクトをどのように構成するかについてかなり厳格な考えを持っているようです - http://developer.android.com/guide/developing/eclipse-adt.htmlAndroidManifest.xmlごとに、ルートにファイルが必要ですプロジェクトのレベル、プラスresassetsgenおよびsrc最上位のフォルダなど。

プラグインが認識するレイアウトで、プラグインをもう少し柔軟にすることができるかどうか疑問に思っています。特に、(scala ベースの) simple-build-tool用のビルド プラグインを使用してきました。これは、次のように、プロジェクトがより Maven に似た方法でレイアウトされることを期待しています。

src/
  main/
    AndroidManifest.xml
    assets/
    res/
    scala/
    java/
  test/
    resources
       <files to include in test jar here>
    scala/
       <test Scala sources>
    java/
       <test Java sources>

( simple-build-tool のドキュメントを参照してください)。

これは、Maven ベースの Java 開発で慣れ親しんだレイアウトです。AndroidManifest.xmlただし、このようなプロジェクトを ADT にロードすると、 が見つからない、resディレクトリが見つからないなどの苦情がたくさん寄せられます。これらはすべて存在しますが、ADT が期待する場所にないだけです。

プロジェクトのビルドに必ずしも ADT を使用する必要はありませんが、ADT (および Eclipse) を編集に使用したいと考えています。さまざまな Android 関連のリソースを検索するために使用するディレクトリで、より柔軟にすることができるかどうか誰か教えてもらえますか?

また、ADT プラグインがオープンソースかどうか教えてもらえますか? ソースコードへのリンクがどこにも見つからないようです。

(注記として、私はsbtADT が好む方法で物事を行うためにも苦労してきました。おそらくそれは可能ですが、非常に退屈に思えます。)

4

3 に答える 3

1

ここで、r3 0.94のADTソースを見つけることができますが、最新のものは見つかりませんでした

于 2009-12-24T19:51:48.723 に答える
1

Android プロジェクトの構造を変更して ADT に理解させることができるとは思えません。Ant ベースのコマンドライン ビルドであっても、それを行うのは「非常に面倒」です。さまざまな Android Ant タスクの独自のコピーを作成し、それらを適切に変更する必要があります (そして、基礎となるビルド ツールが許可することを願っています)。必要なもの)、Android SDK の更新に直面してもそれらを永久に維持します。

main/あなたが Android プロジェクトであると考えるならば、あなたの構造は実際には Android の期待にかなり近いものです。そこの代わりにsbt許可することを納得でき、結果について文句を言わず、コンパイル後に終了する場合は、それを機能させることができます。src/java/sbtbin/gen/main/

于 2009-12-24T20:14:27.290 に答える
1

私が知る限り、ADT にはこれらのフォルダー名が必要ですが、回避策があります。Eclipse で「リンクされたフォルダー」を作成できます。これらは Unix のシンボリック リンクに似ていますが、ファイル システムではなく Eclipse の .project ファイルに格納されるため、Eclipse にのみ表示されます。

Eclipse でプロジェクトのルートを右クリックし、[新しいフォルダーの作成] を選択して作成できます。[詳細設定] をクリックし、リンク フォルダーを作成するオプションを選択します。次に、リンクしたい場所を入力します。最初に PROJECT_LOC を使用してプロジェクト ディレクトリを指定できます。この例では、リンク先のフォルダーとして PROJECT_LOC/src/main/res と入力し、作成されたフォルダーに自動生成された名前「res」を使用します。

于 2011-09-03T02:52:03.540 に答える