मुझे एंड्रॉइड स्टूडियो में मेरे स्वाद के लिए दो अलग-अलग मैनिफेस्ट फाइलों को परिभाषित करने में समस्याएं हैं।एंड्रॉइड स्टूडियो दो मेनिफेस्ट फाइलों के साथ दो स्वाद
AndroidManifest.xml
free
स्वाद में इस तरह दिखता है:: यह मेरे वर्तमान परियोजना संरचना है
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>
AndroidManifest.xml
main
स्वाद में कोई उपयोग करता है-अनुमतियाँ है, लेकिन के बाकी शामिल मेनिफेस्ट कोड जो सभी स्वादों के बीच साझा किया जाता है।
AndroidManifest.xml
pro
स्वाद में इस तरह दिखता है:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="se.example.package">
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
</manifest>
build.gradle तरह
productFlavors {
free {
applicationId 'se.example.package.free'
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName '1.0'
}
pro {
minSdkVersion 14
applicationId 'se.example.package.pro'
targetSdkVersion 21
versionCode 2
versionName '1.1'
}
}
नतीजा यह है कि मैं उम्मीद कर रहा हूँ दो जायके को परिभाषित करता है कि अलग अलग जायके विभिन्न उपयोगों को परिभाषित करता है -permissions। यह मामला नहीं है। परिणाम वर्तमान में है कि दोनों स्वाद केवल <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
को परिभाषित करते हैं जैसा कि प्रो स्वाद में AndroidManifest.xml
में परिभाषित किया गया है।
मैं कोशिश की है:
- स्वच्छ परियोजना
- पुनर्निर्माण परियोजना
- पुनः प्रारंभ एंड्रॉयड स्टूडियो
- सिंक Gradle
लेकिन बिना सफलता। मैं इसे कैसे ठीक करूँ? किसी भी मदद की सराहना की है।
संपादित करें 1
मैं free
और pro
फ़ोल्डर में res
फ़ोल्डरों में से प्रत्येक से AndroidManifest.xml
फ़ाइल प्रत्येक जायके का स्थान बदल दिया। इसका नतीजा:
- प्रो स्वाद लाइसेंस अपेक्षित के रूप में दिखाता है।
- नि: शुल्क स्वाद दोनों
AndroidManifest.xml
फ़ाइलें, लाइसेंस और नेटवर्क अनुमतियों से अनुमतियों से पता चलता है (केवल नेटवर्क होना चाहिए)
इस परियोजना संरचना का एक मुद्दा तरह लगता है। इसका क्या करें?
संपादित 2
मैं मर्ज रिपोर्ट खींच लिया के रूप में Commonsware संकेत दिया है, इन के बारे में uses-permissions
नि: शुल्क रिपोर्ट कर रहे हैं:
uses-permission#com.android.vending.CHECK_LICENSE
ADDED from qwknoteGIT:licencing-library:unspecified:26:5
android:name
ADDED from qwknoteGIT:licencing-library:unspecified:26:22
प्रो:
uses-permission#com.android.vending.CHECK_LICENSE
MERGED from qwknoteGIT:licencing-library:unspecified:26:5
मैं बिल्कुल यकीन है कि आप का उपयोग करने के लिए जिस पर (तू यह एक टिप्पणी है, न कि एक जवाब है) नहीं कर रहा हूँ , लेकिन संभवतः आप कुछ 'टूल्स: नोड' घोषणा का उपयोग करके जो चाहते हैं उसे प्राप्त कर सकते हैं http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC- टूल्स: नोड-मार्कर – Budius
"परिणाम वर्तमान में है कि दोनों स्वाद केवल def समर्थक स्वाद में AndroidManifest.xml में परिभाषित के रूप में <उपयोग-अनुमति एंड्रॉइड: name = "com.android.vending.CHECK_LICENSE" /> है। "- आपने यह कैसे निर्धारित किया है? – CommonsWare
@ कॉमन्सवेयर मैं अपने एचटीसी वन एक्स पर दोनों स्वाद स्थापित करता हूं, और जब मैं प्रत्येक के लिए अनुमतियों की जांच कर रहा हूं तो वे दोनों "Google Play के लिए लाइसेंस नियंत्रण" कहते हैं (स्वीडिश लोकेल के साथ मेरे फोन से अनुवादित, शायद सटीक अनुवाद नहीं हो सकता है अंग्रेज़ी)। उनमें से कोई भी इंटरनेट अनुमतियों की घोषणा नहीं करता है। – Marcus