2

アプリの一部をライブラリに抽出したいのですが、AndroidAnnotations では許可されません ;-)

私が持っている場合:

App
    - uses AndroidAnnotations
    - uses requery

すべてが正常に動作します..しかし、私がこのようなことをすると:

MyLibrary
    - uses requery

App
    - uses MyLibrary
    - uses AndroidAnnotations
    - uses requery

AnndroidAnnotations クラスは、アノテーション プロセッサがアプリの再クエリからモデルを見つけることができないため生成できません (MyLibrary からの再クエリ モデルは問題ありません)。

スタックトレースは明確で、通常のものです。_ で生成されたクラスの「エラー: シンボルが見つかりません」が多く、再クエリによって生成されたクラスの「シンボルが見つかりません」はほとんどありません。

スタックトレース

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

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"
}

「annotationProcessor」、「provided」、古いgradleプラグインバージョンとaptを試してみましたが、ここでは何も役に立たないようです。クラスが生成され (ファイルとして表示されます)、IDE で表示され、すぐに使用できます。

この問題には R ファイルが関係していないと確信しています。ライブラリには、分割前に適切にコンパイルされたリソースとアプリがありません。

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

4

1 に答える 1