2015-06-29 10 views
8

मैं हाल ही में Android annotations बाहर की कोशिश कर रहा था और सब कुछ अच्छी तरह से काम कर रहा था जब तक मैं अपने build.gradle फ़ाइल में buildTypes में applicationIdSuffix जोड़ने का निर्णय लिया।एंड्रॉयड एनोटेशन और applicationIdSuffix

buildTypes { 
    debug { 
     applicationIdSuffix '.debug' 
    } 

    ... 
} 

और मैं 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'.

मैं सफाई और फिर से पुनर्निर्माण की कोशिश की है, इस परियोजना से generated निर्देशिका को दूर करने के लिए, लेकिन कुछ भी नहीं मदद करता है. यदि मैं build.gradle फ़ाइल से applicationIdsuffix हटा देता हूं, तो सब कुछ ठीक काम करता है। मैं इस समस्या को कैसे ठीक करुं?

उत्तर

9

अपने build.gradle फ़ाइल से इस लाइन निकालें:

resourcePackageName android.variant.applicationId 

संपादित:

resourcePackageName "org.me.myapp" 
+0

मैं डॉन: इस लेखन के समय में सबसे अच्छा समाधान या तो फ़ाइल का release और debug के बीच संस्करणों स्विच करने के लिए अपनी खुद की Gradle कार्यों लिखने के लिए, या फ़ाइल में दोनों पैकेज के नाम शामिल करने के लिए हो रहा है इस लाइन कहीं भी नहीं है। – Mikhail

+0

मैंने अपना जवाब संपादित किया। – WonderCsabo

+1

या "resourcePackageName android.defaultConfig.applicationId" हार्डकोडेड मानों का उपयोग करने से बचने के लिए –

22

मेरे लिए यह हो रहा था क्योंकि google-services.json की चर्चा करते हुए किया गया था: अपने apt ब्लॉक करने के लिए इस लाइन को जोड़ने का प्रयास मेरा उत्पादन पैकेज नाम।

google-services.json for different productFlavors

+1

यह सही जवाब है। – Sotti

+0

यह सही जवाब है! धन्यवाद! – thuongle

संबंधित मुद्दे