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

时间:2014-08-13 15:29:45

标签: android gradle android-studio android-gradle android-annotations

现在我决定在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 \ intermediates \ manifests \ debug \ AndroidManifest.xml,resourcePackageName = at.gradle.defuex.gradletest}初始化AndroidAnnotations 3.0.1

     

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

     

警告:任何处理器都无法识别以下选项:' [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.+'
}

我正在使用以下版本:

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

,但我更愿意解决我的问题:)

干杯!

1 个答案:

答案 0 :(得分:-1)

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