2016-12-21 1 views
0

によって生成されたクラスを使用するために失敗しましたOK作品..しかし、私はこのような何かをするとき:AndroidAnnotationsライブラリは、私が持っている場合は</p> <p>;-)私は図書館に私のアプリの一部を抽出したいがAndroidAnnotationsが私をさせません再クエリ

MyLibrary 
    - uses requery 

App 
    - uses MyLibrary 
    - uses AndroidAnnotations 
    - uses requery 

注釈プロセッサがそこからアプリの再クエリーからモデル(再クエリモデルを見つけることができないので、AnndroidAnnotationsクラスが生成することはできませんMyLibraryはOKです)。

Stacktraceは、通常のものです。 _によって生成されたクラスに対しては "エラー:シンボルを見つけることができません"と多くの "クエリーで生成されたクラスのシンボルを見つけることができません"。

スタックトレース

C:\Users\TEST\Workspace\app\src\main\java\com\example\ActivityMain.java:36: error: cannot find symbol 
import com.example.network.NetworkService_; 
         ^
symbol: class NetworkService_ 
location: package com.example.network 

C:\Users\TEST\Workspace\app\src\main\java\com\example\ActivityMain.java:38: error: cannot find symbol 
import com.example.data.TestModelFromRequery; 
        ^
symbol: class TestModelFromRequery 
location: package com.example.data 

androidannotations.txt

17:59:02.343 [Daemon worker Thread 6] ERROR o.a.i.r.ProjectRClassFinder:47 - The generated pl.mp.empendium.debug.R class cannot be found 

build.gradle私は古いのGradleプラグインのバージョンと、 "annotationProcessor"、 "提供" で試してみた

dependencies { 

    compile project(':appbase') 

    compile 'io.requery:requery:1.1.0' 
    compile 'io.requery:requery-android:1.1.0' 
    annotationProcessor 'io.requery:requery-processor:1.1.0' 

    //AndroidAnnotations 
    compile "org.androidannotations:androidannotations:$aaVersion" 
    compile "org.androidannotations:androidannotations-api:$aaVersion" 
    annotationProcessor "org.androidannotations:androidannotations:$aaVersion" 
} 

ここでは何も助けてくれないようです。 クラスは生成され(ファイルとして見ることができます)、IDEで表示され、すぐに使用できます。

私はこの問題がRファイルに関係していないことを確信しています。ライブラリには分割前にリソースとアプリケーションがコンパイルされていません。

私には何が欠けていますか?

答えて

1

library projectで実行していることをAAに伝える必要があります。 それでも問題が解決しない場合は、明示的にパッケージ名を設定することもできます。

android { 

    defaultConfig { 

     javaCompileOptions { 
      annotationProcessorOptions { 
       arguments = ['resourcePackageName': 'pl.mp.empendium', 
          'library': 'true'] 
      } 
     } 
    } 
} 

あなたは上記のリンクのwikiで読むことができますとしては、ライブラリプロジェクトの一つの問題である:生成RクラスのIDが最終ではありませんが、あなたがそれらを使用することはできません あなたはこのようにそれを行うことができます注釈でこの問題を回避するには、文字列定数としてのIDを設定することができます。

@Click(resName = "myButton2") 

また、あなたは最終的R IDを生成し、それらを使用するようにGradle pluginを使用することができます。

関連する問題