2014-01-23 52 views
1

我試圖在Android Studio中0.4.2的gradle與安裝Android的註釋,但不能配置MainActivity_類的Android 0.4.2工作室的Android +註釋錯誤

我配置反編譯>註解proccesors這是一張圖片! enter image description here

,這是我的build.gradle的一部分

configurations { 
    apt 
} 

dependencies { 
    compile 'com.android.support:gridlayout-v7:19.0.1' 
    compile 'com.android.support:support-v4:19.0.1' 
    compile 'com.android.support:appcompat-v7:19.0.1' 
    //android annotations 
    compile 'org.androidannotations:androidannotations-api:3.0' 
    apt 'org.androidannotations:androidannotations:3.0' 
} 

def getSourceSetName(variant) { 
    return new File(variant.dirName).getName(); 
} 

android.applicationVariants.all { variant -> 
    aptOutput = file("${project.buildDir}/source/apt_generated/${variant.dirName}") 
    println "****************************" 
    println "variant: ${variant.name}" 
    println "manifest: ${variant.processResources.manifestFile}" 
    println "aptOutput: ${aptOutput}" 
    println "****************************" 

    variant.javaCompile.doFirst { 
     println "*** compile doFirst ${variant.name}" 
     aptOutput.mkdirs() 
     variant.javaCompile.options.compilerArgs += [ 
       '-processorpath', configurations.apt.getAsPath(), 
       '-AandroidManifestFile=' + variant.processResources.manifestFile, 
       '-s', aptOutput 
     ] 
    } 
} 

我可以注入我的行爲的觀點,但doen't找到MainActivity_類

在無數的教程,我已閱讀說我需要將生成目錄作爲,但我不能這樣做與Android工作室0.4.2

任何幫助,讚賞!

回答

1

工作解決方案已在github issue上提交:必須通過gradle配置源文件夾。所以Android部分的配置應該是這樣的:

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.0.1" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 18 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'src/main/AndroidManifest.xml' 
      java.srcDirs = ['src/main/java', 'YOUR_OTHER_PRODUCTION_SOURCE_FOLDER'] 
      resources.srcDirs = ['src/main/res'] 
      res.srcDirs = ['src/main/res'] 
     } 
    } 
} 

另外,我同意歐根,你真的應該使用新的android-apt插件。這已在AA項目的wiki page中解釋過。 我要添加如何在Android Studio上配置AA的一部分來澄清這一點。

2

首先忘記了在Android Studio中使用gradle項目更改註釋處理的設置。 Android Studio將所有構建處理委託給gradle,並僅反映狀態和錯誤。

其次,請刪除您的解決方法有代碼生成的gradle中完成,並開始使用雨果維瑟的android-apt插件:https://bitbucket.org/hvisser/android-apt

請大家如何正確通過插件的設置參數傳遞的android-annaotaiton處理器的關注。

成功!

+0

謝謝,我會看看android-apt插件。事實是,有太多的意見,有些已經過時了,找到正確的答案可能會令人困惑。我發現每次都有一個不同的gradle代碼片段,而且都沒有工作,所以很難發現有什麼問題。再次感謝您的回覆 – Arthur