Android Studio2.2.3配置androidannotation框架
来源:互联网 发布:淘宝天猫怎么抢红包 编辑:程序博客网 时间:2024/06/16 01:20
配置版本及链接
Android Studio版本2.2.3: http://www.android-studio.org/
Android annotation官网:https://github.com/excilys/androidannotations
Android annotation官网中有提到在Gradle中要怎么配置:
https://github.com/excilys/androidannotations/wiki/Building-Project-Gradle
这里简单记录Android annotation配置过程,分享下配置过程中遇到问题及解决方法。
- 在Android Studio中新建普通工程(这里命名AnnotationDemo)
- 主要修改如下2个build.gradle文件:
project的 build.gradle :
添加代码内容: classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8+’
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' //配置Android annotations classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8+' }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}
Module的 build.gradle (本dem中Module是app):
该模块修改处,三处配置之外,还有一处对testCompile的注释。
apply plugin: 'com.android.application'//配置【1】Android annotationsapply plugin: 'android-apt'def AAVersion = '4.0+'android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.annotationdemo" minSdkVersion 19 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.0' //被注解 //testCompile 'junit:junit:4.12' //配置【2】Android annotations apt "org.androidannotations:androidannotations:$AAVersion" compile "org.androidannotations:androidannotations-api:$AAVersion"}//配置【3】Android annotationsapt { arguments { androidManifestFile variant.outputs[0].processResources.manifestFile resourcePackageName 'com.annotationdemo' }}
- 修改AndroidManifest.xml文件。将
<activity android:name=".MainActivity">修改为<activity android:name=".MainActivity_">
此时配置完成,编译工程,会出现如下错误。
Information:Gradle tasks [:app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugUnitTestSources, :app:compileDebugAndroidTestSources]C:\Users\Desktop\test\AnnotationDemo\app\src\test\java\com\annotationdemo\ExampleUnitTest.javaError:(3, 17) 错误: 程序包org.junit不存在Error:(4, 24) 错误: 程序包org.junit不存在Error:(12, 6) 错误: 找不到符号符号: 类 Test位置: 类 ExampleUnitTestError:(14, 9) 错误: 找不到符号符号: 方法 assertEquals(int,int)位置: 类 ExampleUnitTestError:Execution failed for task ':app:compileDebugUnitTestJavaWithJavac'.> Compilation failed; see the compiler error output for details.Information:BUILD FAILEDInformation:Total time: 2.725 secsInformation:5 errorsInformation:0 warningsInformation:See complete output in console
这是因为注释了testCompile引起的,解决办法,将测试类中相关代码注释。路径为/app/src/test/java/【包名】/ExampleUnitTest.java。修改如下:
package com.annotationdemo;//import org.junit.Test;//import static org.junit.Assert.*;/** 1. Example local unit test, which will execute on the development machine (host). 2. * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> */public class ExampleUnitTest {/* @Test public void addition_isCorrect() throws Exception { assertEquals(4, 2 + 2); }*/}
解决上面问题,程序可以正常编译了。但是还是不能正常运行,修改MainActivity文件。因为使用androidannotation框架,需要对使用的Activity进行标注,使用@EActivity。MainActivity修改如下:
package com.annotationdemo;import android.support.v7.app.AppCompatActivity;import org.androidannotations.annotations.EActivity;@EActivity(R.layout.activity_main)public class MainActivity extends AppCompatActivity {/* @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }*/}
完成之后编译即可运行。
~遇到问题及解决
=====
A problem occurred configuring project ':app'.
Cannot get property 'processResources' on null object
可能有2个原因:
—Module中build.gradle的apt配置不正确。
按上文介绍的配置即可。
—未注释testCompile ‘junit:junit:4.12’
特别是第二条,很难查到。- unResolved “MainActivity_”, 讲的是无法解析这个Activity。
原因在于没有是有@EActivity对Activity标记。
END
#
0 0
- Android Studio2.2.3配置androidannotation框架
- android studio 配置 AndroidAnnotation
- Android Studio下配置AndroidAnnotation
- Android Studio下配置AndroidAnnotation
- Android studio 下 配置AndroidAnnotation 环境
- Android studio正确配置AndroidAnnotation注解
- android studio2安装及配置
- Android Studio2.2 配置NDK
- Android Studio2.2 配置NDK
- android studio2.2配置uiautomator2
- Android Studio2.2 配置NDK
- Android Studio2.2.2 配置NDK
- Android Studio2.2 配置NDK
- Android Studio2.2 配置NDK
- Android开源框架androidannotation环境搭建及Demo
- 【Android进阶】(1)使用开源框架AndroidAnnotation
- Android 最火快速开发框架androidannotation简介
- 【GitHub】AndroidAnnotation框架使用方法
- vs2013输出string类问题
- oracle创建表,字段有特殊关键字的处理
- Jetty java.lang.IllegalStateException: Committed
- R语言:用微软的深度学习得到人脸的特征数据
- LaTex解决目录红框和参考文献引用的问题
- Android Studio2.2.3配置androidannotation框架
- Android touch事件分发机制
- 沅江吴鸣油炼鸭网站建设
- mavencompile编译报错/WorkFlowMQListening.java:[11,32] 找不到符号 符号: 类 MQTools
- POJ 1094 C++:Sorting It All Out
- Java知识图谱收集整理
- C语言面向对象编程——读书《C嵌入式设计模式》
- linux下的SecureCRT安装和破解
- 经验心得记录