gpt4 book ai didi

AndroidAnnotations 库无法使用重新查询生成的类

转载 作者:行者123 更新时间:2023-11-29 01:13:40 24 4
gpt4 key购买 nike

我想将我的应用程序的某些部分提取到库中,但 AndroidAnnotations 不允许我 ;-)

如果我有:

App
- uses AndroidAnnotations
- uses requery

一切正常..但是当我做这样的事情时:

MyLibrary
- uses requery

App
- uses MyLibrary
- uses AndroidAnnotations
- uses requery

无法生成 AnndroidAnnotations 类,因为注释处理器无法从 App 重新查询中找到模型(从 MyLibrary 重新查询模型是可以的)。

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

构建.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 文件。库在拆分之前没有任何资源和应用程序编译得很好。

我错过了什么?

最佳答案

您必须告诉 AA 您正在 library project 上运行它.如果没有帮助,您还可以明确设置包名称。你可以这样做:

android {

defaultConfig {

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

正如您在上面链接的 wiki 中看到的那样,库项目存在一个问题:生成的 R 中的 ID类不是最终的,所以你不能在注释中使用它们。要解决此问题,您可以将 ID 设置为字符串常量:

@Click(resName = "myButton2")

或者,您可以使用 Gradle plugin生成最终的 R ID 并使用它们。

关于AndroidAnnotations 库无法使用重新查询生成的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41269832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com