让Android Studio,Gradle和Android Annotations协同工作

Mad*_*ter 7 android gradle android-annotations android-studio android-gradle-plugin

既然我决定在Android Studio中使用Android Annotations,我想通过Gradle实现它.经过一些深思熟虑的研究后,我发现有更旧的方法可以通过Gradle实现Android Annotations,具体取决于android studio,gradle或android注释的版本.我来到这个有用的教程 - > http://www.jayway.com/2014/02/21/androidannotations-setup-in-android-studio/,并试图实现这一点,首先,使用新的'android- L'作为目标SDK喜欢

targetSDKversion"android-L"+ compileSdkVersion 20 + buildToolsVersion"20.0.0"

直到我试着用它

targetSDKversion 20 + compileSdkVersion 20 + buildToolsVersion"20.0.0"

并且

targetSDKversion 19 + compileSdkVersion 19 + buildToolsVersion"19.1.0".

每次我得到2个警告,我的java类似乎没有得到预编译.即使它似乎预先创建了build/generated/source/apt目录.但没有我的MainActivity预处理类 - > MainActivity_

我总是得到以下警告:

注意:将日志文件解析为D:\ AndroidProjects\GradleTest\app\build\generated\source\apt\androidannotations.log注意:使用选项> {androidManifestFile = D:\ AndroidProjects\GradleTest\app\build \初始化AndroidAnnotations 3.0.1 intermediates\manifests\debug\AndroidManifest.xml,resourcePackageName = at.gradle.defuex.gradletest}

警告:类型'[dummy1407928544078]'的未闭合文件; 这些类型不会进行注释处理

警告:任何处理器都无法识别以下选项:'[androidManifestFile,resourcePackageName]'

我的build.gradle文件如下所示:

buildscript{
repositories{
    mavenCentral()
}

dependencies{
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.3'
    }
}


repositories{
    mavenCentral()
}

apply plugin: 'com.android.application'
apply plugin: 'android-apt'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "at.gradle.defuex.gradletest"
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    signingConfigs{
        releaseConfig{
            storeFile file("gradlekeystore.jks");
            storePassword ("*************");
            keyAlias "keyAlias";
            keyPassword "*************";
        }
    }


    buildTypes {
        release {
            runProguard false
            debuggable false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            signingConfig signingConfigs.releaseConfig
        }

        debug {
            debuggable true
            applicationIdSuffix ".debug"
        }
    }
}

apt {
    arguments {
        androidManifestFile variant.processResources.manifestFile
        resourcePackageName "at.gradle.defuex.gradletest"
    }
}

dependencies {
    apt "org.androidannotations:androidannotations:3.0+"
    compile "org.androidannotations:androidannotations-api:3.0+"
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}
Run Code Online (Sandbox Code Playgroud)

我使用以下版本:

  • Android Studio版本0.8.2
  • Gradle版本0.12.2
  • android-apt 1.3版
  • android注释版本3.0.1(如build.gradle文件中所示)
  • 如果应该有这个问题的解决方案请告诉我,因为我现在很困惑.
  • 如果应该有更好的注释框架或使用酷注释的方式,请告诉我.
  • 如果它不再是一个常见的方式,无论如何使用Android项目的注释,请pleeeeease告诉我也.

,但我更喜欢解决我的问题:)

干杯!

loc*_*ost -1

尝试从项目根目录运行gradlew clean build。然后在设备上运行之前尝试创建项目(带有带有 0 和 1 的绿色箭头的按钮)。应该没事。