【问题标题】:Scanning for annotated classes does not work with Instant Run扫描带注释的类不适用于 Instant Run
【发布时间】:2016-01-20 10:47:17
【问题描述】:

使用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

我不想禁用 Instant Run。还有其他方法可以加载 DexFile 或拆分的 DexFiles 吗?

【问题讨论】:

    标签: java android annotations


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 2016-07-06
      • 2012-10-19
      • 2019-04-03
      相关资源
      最近更新 更多