使用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 ?
答案 0 :(得分:2)
简短的回答是:是的,它不再起作用了。
答案很长:使用自定义javax.annotation.processing.Processor
并生成代码。您可以将处理器与android-apt集成到您的gradle构建过程中。
我有一个简单的示例here,它展示了如何使用注释收集类以及如何生成静态注册表。