2013-11-22 12 views
5

AndroidスタジオにAndroidライブラリとしてgoというGradleを設定したモジュールが含まれているAndroidプロジェクトがあります。これにはcom.nwoods.goという単一のJavaパッケージが含まれています。このスタックオーバーフローの提出のために、それは私がパッケージcom.nwoods.ugurdemo1にMainActivityクラスを持っているugurdemo1と呼ばれるアプリケーションモジュールを持って、同じAndroidのプロジェクト内FooBar

というクラスが含まれています。Android Studioの別のモジュールのソースを使用してコンパイルする

Androidスタジオugurdemo1モジュールのプロジェクト構造を、コンパイル時にライブラリgoに依存するように変更しました。 ugurdemo1のMainActivityでは、FooBargoを参照して使いたいと思います。これを行うために、私は典型的なJavaのimport文でクラスを前置き:

 
    import com.nwoods.go.FooBar; 
    ... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FooBar myFooBarObject = null; 

Androidのメーカーはまだ私の情報源の再構築、クリーンを実行した後FooBarのシンボルを解決することはできません。スタックオーバーフローに関する同様の質問は、依存関係ダイアログでコンパイル時間設定を編集することで解決されましたが、もう一度動作しません。何か助けがあれば、私は現在実行中ですAndroid Studio IO Preview (0.3.6)

+1

しかし:削除した後

build.gradle settings.gradle library_module: build.gradle settings.gradle library: build.gradle settings.gradle android_app: settings.gradle build.gradle 

、構造がこのように見えました私のプロジェクトはGradleを使ってうまく構築されているので、0.8.4ではまだ解決されていないAS問題です。 – jonalmeida

答えて

2

問題は、プロジェクトが、ここで追跡されているのAndroidメーカー自体のバグではないかもしれない:https://code.google.com/p/android/issues/detail?id=65915

「修正」は、ルートプロジェクトディレクトリを除くすべてのモジュールからsettings.gradleを削除することです。例えば

は、私の状況では、私のプロジェクト構造は次のようになります。同じ問題に直面して

build.gradle 
settings.gradle 
library_module: 
    build.gradle 
     library: 
     build.gradle 
android_app: 
    build.gradle 

乾杯

+1

このコメントありがとうございました。私たちはバグのある開発ツールを待つ/取り組む時間がなかったので、当時はツールの変更をやめました。 2015年3月現在、https://code.google.com/p/android/issues/detail?id=65915#c29のパッチが適用されているようです –

8

あなたが正しいことをしたように聞こえますが、確かめるために、Gradleのモジュール依存関係を設定できるプロジェクト構造依存パネルのスクリーンショットを以下に示します。

Screenshot of Android Studio Project Structure dialog

このモジュールは、すでにMavenのスタイルの輸入を介して検索2つのライブラリの依存関係を持っており、それもFooのモジュールへの依存関係として。新しい依存関係を追加するには、下部にある+ボタンをクリックし、依存関係の種類(図示)を選択します。

また、Gradleのビルドファイルを手動で編集することもできます。私の例では、 "2"モジュールのディレクトリにbuild.gradleというファイルがあります。それはこのようになりますdependenciesブロックを持っています

dependencies { 
    compile 'com.android.support:support-v4:+' 
    compile 'com.android.support:appcompat-v7:+' 
    compile project(':Foo') 
} 

あなたは新しいモジュールの依存関係を追加するために、さらにcompile project行を追加することができます。コロン区切りの構文を使用して、プロジェクトのルートディレクトリを基準にモジュールの位置を指定します。

build.gradleファイルを手作業で編集する場合は、完了したらツールバーの「Sync Project with Gradle Files」ボタンをクリックして、Android Studioでファイルを再読み込みして変更を受け取ります。

関連する問題