我正在学习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中的其他设置会发生什么?
非常感谢。
答案 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
}
}