在AndroidStudio上使用gradle设置AndroidAnnotations不会显示布局

时间:2015-06-27 02:41:42

标签: android gradle android-annotations

我正在学习android studio中的gradle和AndroidAnnotations框架。

但我在最初遇到问题...... = =

我使用android studio创建了一个新项目。

然后我把依赖于AndroidAnnotations。

我的app.gradle全部在

之下
 apply plugin: 'com.android.application'

 android {
     compileSdkVersion 22
     buildToolsVersion "22.0.1"

     defaultConfig {
         applicationId "yu.idv.androidannotationtest"
         minSdkVersion 15
         targetSdkVersion 22
         versionCode 1
         versionName "1.0"
     }
     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android.txt'),      'proguard-rules.pro'
         }
     }
 }

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:22.2.0'
     compile 'org.androidannotations:androidannotations-api:3.3.1'
 }

然后我把这个注释放在Activity的上面,如下所示:

 import org.androidannotations.annotations.EActivity;


 @EActivity(R.layout.activity_main)
 public class MainActivity extends Activity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 //        setContentView(R.layout.activity_main);
     }
 ....

但是我编译了我的程序,我没有看到布局。我的布局只是默认代码,

XML文件中有一个“Hello world”TextView。

我的Gradle或AndroidStudio中的其他设置会发生什么?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您还必须将处理器添加为apt依赖项和处理参数,使用android-apt插件告诉AA清单的位置。另外,不要忘记更改清单以指向生成的活动(结尾处的下划线)。

查看Gradle说明:https://github.com/excilys/androidannotations/wiki/Building-Project-Gradle

或者从示例项目开始:https://github.com/excilys/androidannotations/tree/develop/examples/gradle

所以基本上也将这些添加到你的脚本中:

buildscript {
    repositories {
      mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
    }
}

apply plugin: 'android-apt'
def AAVersion = '3.3.1'

dependencies {
    compile 'com.android.support:appcompat-v7:22.2.0'
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
}

apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
    }
}