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

时间:2016-01-20 10:47:17

标签: java android annotations

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

使用

加载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

1 个答案:

答案 0 :(得分:2)

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

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

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