2015-06-29 16 views
8

Avevo provato lo Android annotations di recente e tutto aveva funzionato bene fino a quando non ho deciso di aggiungere applicationIdSuffix nel file buildTypes nel mio file build.gradle. Attualmente sembra che questo:annotazioni Android e applicationIdSuffix

buildTypes { 
    debug { 
     applicationIdSuffix '.debug' 
    } 

    ... 
} 

E su compilazione ottengo il seguente registro nella console Gradle:

:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:pre_testBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:processDebugGoogleServices
No matching client found for package name 'org.me.myapp.debug'
:app:generateDebugResources
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
Note: Resolve log file to /dir/myapp/app/build/generated/source/apt/androidannotations.log
Note: Initialize AndroidAnnotations 3.3.1 with options {androidManifestFile=/dir/myapp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml}
Note: Start processing for 4 annotations on 18 elements
Note: AndroidManifest.xml file found with specified path: /dir/myapp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml Note: AndroidManifest.xml found: AndroidManifest [applicationPackage=org.me.myapp.debug, componentQualifiedNames=[org.me.myapp.ui.MainActivity_, net.hockeyapp.android.UpdateActivity], permissionQualifiedNames=[android.permission.ACCESS_WIFI_STATE, android.permission.ACCESS_NETWORK_STATE], applicationClassName=null, libraryProject=false, debugabble=false, minSdkVersion=15, maxSdkVersion=-1, targetSdkVersion=22]
error: The generated org.me.myapp.debug.R class cannot be found
Note: Found Android class: android.R
Note: Time measurements: [Whole Processing = 15 ms], [Extract Manifest = 4 ms], [Extract Annotations = 3 ms],
Note: Finish processing
Note: Start processing for 0 annotations on 0 elements
Note: Time measurements: [Whole Processing = 0 ms],
Note: Finish processing
1 error
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.

Ho provato la pulizia e la ricostruzione di nuovo, eliminando generated directory dal progetto, ma niente aiuta. Se rimuovo applicationIdsuffix dal file build.gradle, tutto funziona correttamente. Come posso risolvere questo problema?

risposta

9

Rimuovi questa linea dal tuo build.gradle del file:

resourcePackageName android.variant.applicationId 

Edit: provare ad aggiungere questa riga al vostro apt blocco:

resourcePackageName "org.me.myapp" 
+0

I don avere ovunque questa linea – Mikhail

+0

Ho modificato la mia risposta. – WonderCsabo

+1

o "resourcePackageName android.defaultConfig.applicationId" per evitare l'uso di valori hardcoded –

22

Per me questo stava accadendo perché google-services.json si riferiva a il nome del mio pacchetto di produzione. La soluzione al momento in cui scriviamo migliore sembra essere quella di uno scrivere i propri compiti Gradle per passare tra release e debug versioni del file, o per includere entrambi i nomi dei pacchetti nel file:

google-services.json for different productFlavors

+1

Questa è la risposta giusta. – Sotti

+0

Questa è la risposta giusta! Grazie! – thuongle