java - 扫描带注释的类不适用于 Instant Run

标签 java android annotations

Android Studio 2.0 Preview 5和 android gradle 插件 2.0.0-alpha5 无法再扫描带注释的类。 这是因为通过Instant Runapk被分割成几个部分。

加载dex文件

DexFile dex = new DexFile(context.getApplicationInfo().sourceDir);

导致以下异常:

java.io.IOException: No original dex files found for dex location /data/app/<...>.Android-1/base.apk

我不想禁用“即时运行”。。是否有其他方法加载 DexFile 或分割的 DexFiles

最佳答案

简短的回答是:是的,它不再起作用了。

长答案是:使用自定义javax.annotation.processing.Processor并生成代码。您可以将处理器与 android-apt 集成进入你的 gradle 构建过程。

我有一个简单的例子here这展示了如何使用注释收集类以及如何生成静态注册表。

关于java - 扫描带注释的类不适用于 Instant Run,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897880/

相关文章:

java - Eclipse 是否可以配置为禁用派生源文件的警告?

java - 具有 ListenableFuture 返回值的 bean 方法是否在单独的线程中执行?

android - 使用设计支持库,选项卡不占用全宽

python - Mypy:使用更高的(个人)类型

java - 删除 @ManyToMany 关联期间发生 Hibernate 异常

java - 根据值对 Map 内的 HashMap 进行排序

Android 在将 androidx 生物识别更新为 1.0.0-alpha04 后崩溃

android - 缩放 Android 图片库中的所选图片

web-services - 在外部为类创建 jaxb 注释

java - 读取与数组列表