2017-08-07 18 views
9

में AndroidManifest.xml के साथ समस्या मैंने हाल ही में कैनरी चैनल से एंड्रॉइड स्टूडियो 3.0 स्थापित किया है।एंड्रॉइड स्टूडियो 3.0

Error:(49) unknown element <uses-sdk> found

यह भी प्रदर्शित किया जाता है:

Error:/home/computername/AndroidStudioProjects/applicationname/app/build/intermediates/manifests/full/release/AndroidManifest.xml:49 unknown element <uses-sdk> found

हालांकि, मेरे पुराने परियोजनाओं लोड हो रहा है, इस AndroidManifest.xml फ़ाइल कि स्वचालित रूप से निर्माण संस्करण के अनुसार उत्पन्न में पॉपिंग रहती है कहने की जरूरत नहीं है, यह एंड्रॉइड स्टूडियो 2.3 में कोई मुद्दा नहीं था। कोई विचार कैसे इस को हल किया जा सकता है? मैंने यहां कुछ हद तक समान मुद्दों को पढ़ा है लेकिन मेरी समस्या हल नहीं हुई है। वैसे - इससे कोई फर्क नहीं पड़ता कि मैंने बिल्ड संस्करण को डीबग या रिलीज करने के लिए सेट किया है, यह वही बात कहता है। साथ ही, "आर" वर्ग काम नहीं करता है, और यदि मैं manifest xmlns:android="http://schemas.android.com/apk/res/android घोषणा पर होवर करता हूं, तो यह कहता है "यूआरआई पंजीकृत नहीं है"।

फिर से, परियोजना संरचना बिल्कुल नहीं बदली है, मैंने केवल एंड्रॉइड स्टूडियो 3.0 में अपग्रेड किया है।

धन्यवाद!

यहां AndroidManifest.xml फ़ाइल है जो /src/main फ़ोल्डर के अंतर्गत है, जो पूरी तरह ठीक काम करती है। समस्या /app/build/intermediates/manifests/full फ़ोल्डर में जेनरेट की गई AndroidManifest.xml फ़ाइलों के साथ है - ये मेरे ऐप को तोड़ने वाले हैं।

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.domain.appname" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="21" 
     android:targetSdkVersion="25" /> 

    <!-- PROTECTION_NORMAL permissions, automatically granted --> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 

    <!-- DANGEROUS PERMISSIONS, must request --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <meta-data 
     android:name="android.support.VERSION" 
     android:value="25.3.1" /> 

    <application 
     android:allowBackup="true" 
     android:debuggable="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.domain.appname.view.MainActivity" 
      android:noHistory="true" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.domain.appname.view.TabbedActivity" 
      android:configChanges="keyboardHidden|orientation|screenSize" 
      android:label="@string/app_name" 
      android:noHistory="true" 
      android:screenOrientation="landscape" 
      android:theme="@style/AppTheme.NoActionBar" > 
     </activity> 

     <uses-sdk 
      android:minSdkVersion="21" 
      android:targetSdkVersion="25" /> 
    </application> 

</manifest> 

बाद में संपादित

मैं एंड्रॉयड स्टूडियो 2.3 में वापस चला गया है:

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.domain.appname">` 

     <application 
      android:allowBackup="true" 
      android:icon="@mipmap/ic_launcher" 
      android:label="@string/app_name" 
      android:supportsRtl="true" 
      android:theme="@style/AppTheme"> 
      <activity android:name=".view.MainActivity" 
       android:noHistory="true"> 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 

        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 
      <activity 
       android:name=".view.TabbedActivity" 
       android:label="@string/app_name" 
       android:theme="@style/AppTheme.NoActionBar" 
       android:screenOrientation="landscape" 
       android:configChanges="keyboardHidden|orientation|screenSize" 
       android:noHistory="true"> 

      </activity> 
     </application> 

     <!-- PROTECTION_NORMAL permissions, automatically granted --> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 

     <!-- DANGEROUS PERMISSIONS, must request --> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    </manifest> 

यहाँ जिस तरह से डिबग या जारी स्वत: जनरेट प्रकट होता है कि काम नहीं करते की तरह लग रही है , और ग्रेडल प्लगइन को 2.3.2 पर वापस सेट करें, और यहां बताया गया है कि स्वचालित रूप से जेनरेट किया गया AndroidManifest.xml अब कैसा दिखता है:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.domain.appname.test" > 

    <uses-sdk 
     android:minSdkVersion="21" 
     android:targetSdkVersion="26" /> 

    <instrumentation 
     android:name="android.support.test.runner.AndroidJUnitRunner" 
     android:functionalTest="false" 
     android:handleProfiling="false" 
     android:label="Tests for com.domain.appname" 
     android:targetPackage="com.domain.appname" /> 

    <application> 
     <uses-library android:name="android.test.runner" /> 
    </application> 

</manifest> 

अब सब कुछ हमेशा की तरह, तथापि, Gradle 3.0.0 के तहत स्वतः उत्पन्न मालसूची फ़ाइल के बीच का अंतर और Gradle के तहत एक 2.3.2

मुझे लगता है मैं इंतज़ार करना होगा ध्यान दें किसी एक समाधान पाता है काम करता है जब तक इस काम को क्रमशः 3.0.0 के तहत बनाने के लिए और इसके दौरान एंड्रॉइड स्टूडियो 3.0 (जो मैं अभी कर रहा हूं और यह काम करता है) में ग्रेडल प्लगइन 2.3.2 का उपयोग करें।

तो इस मुद्दे को नया Gradle 3.0.0-alpha9

+0

हमें फ़ाइल दिखाएं –

+0

वहां आप जाते हैं ... –

+0

अब अगर आप हमें बता सकते हैं कि कौन सी लाइन 49 है तो यह सही होगा –

उत्तर

5

आप शायद एक निर्भरता पुस्तकालय (आर) एक <uses-sdk> प्रकट में आवेदन टैग के अंदर है के साथ है। तो जब यह विलय हो जाता है, तो आपके ऐप में भी गलत उपयोग होगा।

यह मेरे लिए एंड्रॉइड के पुराने वीएलसी के पुराने स्थानीय निर्माण के साथ हुआ।

+0

मेरे पास वास्तव में मेरी परियोजना में एक आइर लाइब्रेरी है। दिलचस्प। मैं अभी घर पर हूं और मैं इसे देख नहीं सकता, लेकिन यह बहुत संभावना है कि आप सही हैं। –

1

मेरे पास मेरी मैनिफेस्ट फ़ाइल में एक नियमित गतिविधि के भीतर एक श्रेणी तत्व था जो निर्माण विफलता पैदा कर रहा था। AS3-rc1 को अद्यतन करने के बाद इसे हटाने और टूल 26+ बनाने के लिए मेरा समस्या हल हो गई थी। उम्मीद है कि यह किसी की मदद करता है।

<activity 
     android:name=".AboutUsActivity" 
     android:label="@string/title_activity_about_us" 
     android:parentActivityName=".MainActivity" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <category android:name="android.intent.category.DEFAULT" /> 

     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.MainActivity" /> 
    </activity> 
1

यदि समस्या बनी हुई है, Gragle plugin v। 3.0.0 में माइग्रेट पर this official tutorial देखें।

एक ही त्रुटि मिली, मेरे मामले में में meta-data की बजाय Manifest फ़ाइल में बिल्डिंग को रोकने में टाइपो था।

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