2015-12-22 11 views
15

私は1つのアンドロイドプロジェクトで2つのモジュールを作成しました。名前はxとyです。 (:com.example.xパッケージ) アンドロイドスタジオの別のモジュールからクラスをインポートするには?

  • モジュールyはFooクラスあり(パッケージ:com.example.y)を
  • は、今私は、インポートする

    1. モジュールXは、クラスの卵を持っていますEggクラスのFooクラスです。クラスEggの下に記載されている文を書きました。

      Import com.example.y.Foo; 
      

      今、Fooはアンドロイドによって認識されません。

      質問、

      はそれだけで import文を使用して別のモジュールからクラスをインポートすることは可能ですか?

      モジュールyのライブラリを作成し、作成した ライブラリをモジュールxにインポートする必要がありますか?

      解決策は他にもあります。

    +0

    は 'Foo'公開ですか?そして、「私」は、「輸入」の場合は小文字でなければならない。 –

    +0

    このモジュールをgradleファイルの依存関係に追加しましたか? – Prudhvi

    +0

    @prerakSolaはいFooは公開されており、私は小さいです。 – Palak

    答えて

    37

    は、以下のことを確認してください:settings.gradleで

    を、あなたが持っている必要があります:include ':x', ':y'を。 X/build.gradleで

    、あなたは依存関係としてYを追加する必要があります

    dependencies { 
         compile project(':y') 
         // other dependencies 
    } 
    
    +1

    Androidライブラリを使用してモジュールyを作成するか、「apply plugin: 'com.android.library'」を「apply plugin:com.android.library」に置き換えてください。 – user3269713

    +0

    私のコードを別のモジュールから参照するにはどうしたらいいですか?私は 'moduleB'を使用する' moduleA'を持ち、 'moduleB'は3番目の' moduleC'を使いますが、 'moduleA'(control + click)の' moduleC'のクラスを参照すると、コンパイルされた ' 'moduleC'から私の' .java'クラスの代わりに.class'を使用しています。これを解決するための考えがありますか?ありがとう! – epool

    関連する問題