Androidannotations、IntentService、Freeline同时使用时无法编译
2017-02-17 13:27
337 查看
AndroidAnnotations(以下简称AA) 是通过注解简化代码的一个快速开发框架,通过生成当前类的子类来实现相应的代码。
开发功能中也遇到过生成的子类无法找到的问题,但一般仔细查找,都能找到代码问题所在。但今天遇到这个问题,却让我感到很棘手。
图片所示的是正确编译后的效果,而我今天遇到的是编译release版时,release文件夹什么也不生成,在debug模式下确可以正常生成子类。这个文件夹中应该是AA通过注解生成的子类。在release编译过程中会报一堆生成的类找不到的错误,其实就是没有正确生成这些类。
在这个项目中我还使用了IntentSerivce进行异步数据获取。
在Application中有这样一段代码:
偶然间我发现getApplication()类竟然是freeline里的,不是activity.getApplication().
于是将代码改为
编译通过了。原来初始化Intentservice的时候不小心使用了Freeline的Application,其实Freeline也提供了一个方法,FreelineCore.getRealApplication();
就当做个记录吧。
开发功能中也遇到过生成的子类无法找到的问题,但一般仔细查找,都能找到代码问题所在。但今天遇到这个问题,却让我感到很棘手。
图片所示的是正确编译后的效果,而我今天遇到的是编译release版时,release文件夹什么也不生成,在debug模式下确可以正常生成子类。这个文件夹中应该是AA通过注解生成的子类。在release编译过程中会报一堆生成的类找不到的错误,其实就是没有正确生成这些类。
在这个项目中我还使用了IntentSerivce进行异步数据获取。
在Application中有这样一段代码:
private void preloadData(){ PreLoadIntentService_.intent(getApplication()) .loadPageData() .start(); }
偶然间我发现getApplication()类竟然是freeline里的,不是activity.getApplication().
于是将代码改为
private void preloadData(){ PreLoadIntentService_.intent(this) .loadPageData() .start(); }
编译通过了。原来初始化Intentservice的时候不小心使用了Freeline的Application,其实Freeline也提供了一个方法,FreelineCore.getRealApplication();
就当做个记录吧。
相关文章推荐
- Android开发中IntentService的使用(二)
- android中对Looper、HandlerThread、IntentService的理解及使用方法
- Android IntentService 的使用
- Android Training - 使用IntentService执行任务(Lesson 1 - 创建IntentService)
- Android中IntentService的原理及使用
- Android中IntentService的原理及使用
- Android基本功:IntentService的使用
- Android中IntentService的原理及使用
- 【IntentService】Android中IntentService的原理及使用
- Android中IntentService的原理及使用
- Android初学之使用IntentService或Service获取当前时间
- Android中IntentService的原理及使用
- Android 中的context, service,active和intent使用详解
- [Android Pro] Android中IntentService的原理及使用
- Android 中的context, service,active和intent使用详解
- 【Android 开发教程】使用IntentService执行异步操作
- Android基础—使用IntentService
- Android Studio 怎么添加使用第三方jar包及无法编译的问题解决方法
- Android中IntentService的原理及使用
- Android中IntentService的原理及使用