2011-08-08 12 views
15

मैं फोन के लिए ऐप बना रहा हूं, लेकिन मैं उन्हें टैबलेट पर उपयोग करने योग्य नहीं था। मुझे नहीं पता क्यों नहीं कर सकता। मैं अपने एंड्रॉयड मैनिफ़ेस्ट फ़ाइल में इस का उपयोग करें:एंड्रॉइड का उपयोग नहीं कर सकता: xlargeScreens = "true"?

android:xlargeScreens="true" 

मैं इस त्रुटि मिलती है:

त्रुटि: कोई संसाधन पहचानकर्ता पैकेज 'एंड्रॉयड'

इस में 'xlargeScreens' विशेषता के लिए मिला मेरी मेनिफेस्ट फ़ाइल है:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="cro.perger.bonbon" 
     android:versionCode="5" 
     android:versionName="1.4"> 
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".bonbon" 
        android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

      <!-- Broadcast Receiver that will process AppWidget updates --> 
     <receiver android:name=".HelloWidget" android:label="@string/w_name"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
       </intent-filter> 
     <meta-data android:name="android.appwidget.provider" 
      android:resource="@xml/hello_widget_provider" /> 
     </receiver> 

     <receiver android:name=".SMSReceiver"> 
      <intent-filter> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      </intent-filter> 
     </receiver>  

     </application> 
     <supports-screens android:resizeable="true" 
         android:smallScreens="true" 
         android:normalScreens="true" 
         android:largeScreens="true" 
         android:xlargeScreens="true" 
         android:anyDensity="true"/> 
    <uses-permission android:name="android.permission.SEND_SMS"></uses-permission> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> 
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.READ_SMS"/> 
</manifest> 

मुझे क्या करना चाहिए?

उत्तर

4

ऐसा लगता है कि आपको पुराने और नए संस्करणों के लिए अलग-अलग एपीके बनाने की आवश्यकता है। एकाधिक एपीके समर्थन के बारे में http://android-developers.blogspot.com/search/label/Android%20Market पर पोस्ट किए गए ब्लॉग को चेकआउट करें: "एकाधिक एपीके समर्थन आपको ऐप वितरण को नियंत्रित करने के कई तरीके प्रदान करता है। उदाहरण के लिए, आप उसी उत्पाद प्रविष्टि के तहत फोन और टैबलेट के लिए अलग-अलग एपीके बनाने के लिए इसका उपयोग कर सकते हैं।"

+0

को हटा दिया है धन्यवाद, मैं इसे करूँगा। – Goran

13

कृपया अपने प्रोजेक्ट बिल्ड लक्ष्य xlarge स्क्रीन का समर्थन करने के लिए अपने प्रोजेक्ट बिल्ड लक्ष्य को कम से कम एंड्रॉइड 2.3.3 एडीके होना चाहिए।

ग्रहण में -? सही परियोजना पर क्लिक करें -> गुण -> एंड्रॉयड -> परियोजना का चयन 2.3.3 के रूप में Tagrget बिल्ड या बाद

+0

क्या इसका मतलब यह है कि मेरा ऐप एंड्रॉइड डिवाइस पर एंड्रॉइड 1.6, 2.1 और 2.2 के साथ प्रयोग योग्य नहीं होगा ?? – Goran

+0

हां यह सही है – Jack

+0

हां। ऐप एंड्रॉइड डिवाइस पर एंड्रॉइड डिवाइस पर उपयोग नहीं किया जा सकता है, एंड्रॉइड 1.6, 2.1 और 2.2 –

3

आप android:xlargeScreens के लिए कम से कम एंड्रॉयड एपीआई स्तर 9 में उपयोग करने के लिए मान्यता प्राप्त करने की आवश्यकता है AndroidManifest.xml

इसके लिए यह सुनिश्चित करें कि आपके default.properties फ़ाइल में आपके पास target=android-9 या उच्चतर है। यह एंड्रॉइड सेक्शन में प्रोजेक्ट प्रॉपर्टीज का उपयोग करके भी सेट किया जा सकता है।

+0

मुझे यह चेतावनी नहीं मिली, जब तक कि मैं 23 तक विज्ञापन अपडेट नहीं करता और 4.x पर ग्रहण करता हूं! अतीत में मैंने xlargeScreen = true और minSdkversion = 8 सेट किया है। –

1

आपका एपीआई स्तर क्या सेट है? यह दस्तावेज़ीकरण में कहता है कि इसे एपीआई 9 या उच्चतम की आवश्यकता है। 9 2.3 है।

android:xlargeScreens Indicates whether the application supports extra large screen form-factors. An xlarge screen is defined as a screen that is significantly larger than a "large" screen, such as a tablet (or something larger) and may require special care on the application's part to make good use of it, though it may rely on resizing by the system to fill the screen. The default value for this actually varies between some versions, so it's better if you explicitly declare this attribute at all times. Beware that setting it "false" will generally enable screen compatibility mode. This attribute was introduced in API level 9.

2

समस्या अपने minSdkVersion है: this लिंक जो कहते हैं देखें।

xlargeScreens-विशेषता एपीआई-स्तर 9 में पेश की गई थी। चूंकि आपने निर्दिष्ट किया है कि आपका एप्लिकेशन शायद एपीआई-लेवल 4 के तहत चलाएगा, एंड्रॉइड इस विशेषता को नहीं ढूंढ सकता है।

minSdkVersion बदलें- 11 पर योगदान दें और इसे काम करना चाहिए।

targetSdkVersion -attribute, जो आप 11 होना करने के लिए सेट केवल इंगित करता है कि अनुप्रयोग इस संस्करण को लक्षित करने के विकसित किया गया था (इसलिए यह "अनुशंसित" है), लेकिन minSdkVersion निर्दिष्ट करता न्यूनतम API स्तर, here देखते हैं।

+0

लेकिन फिर मेरा ऐप 2.1 और 2.2 एंड्रॉइड संस्करण के साथ एंड्रॉइड फोन पर प्रयोग योग्य नहीं होगा ?? या मैं गलत हूँ ?? – Goran

+0

हां। ये सही है। –

+0

ठीक है, तो मैं अपने ऐप को फ़ोन और टैबलेट पर कैसे काम कर सकता हूं ?? क्योंकि बाजार पर प्रकाशित साइट पर, टैबलेट समर्थित उपकरणों में नहीं हैं ?? – Goran

6

मेरा आवेदन Android संस्करण नवीनतम संस्करण के लिए 1.5 का समर्थन करता है और यह है कि क्या मैं अपने प्रकट में है:

Screen layouts: SMALL NORMAL LARGE XLARGE 
Required device features 
     android.hardware.touchscreen 
This application is available to over 555 devices. 
:

<supports-screens 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:smallScreens="true" 
     android:anyDensity="true" /> 

यह वही मेरी अनुप्रयोग के लिए Android Market डेवलपर साइट पर दिखाई देता है

इसके अलावा, मेरा प्रोजेक्ट बिल्ड लक्ष्य 2 है।3.3, लेकिन मेरे पास अभी भी एंड्रॉइड 3.0

पर यह कई इंस्टॉल हैं और यह सिर्फ एक अनुमान है, मुझे इस बारे में निश्चित नहीं है, लेकिन आपके एप्लिकेशन को टैबलेट पर खोज से फ़िल्टर करने की अनुमति नहीं होगी क्योंकि उनके पास टैबलेट पर खोज से फ़िल्टर नहीं है वह सुविधा?

+0

ठीक है, और कैसे एस एस एस एस एस एस के लिए ?? – Goran

+0

मुझे लगता है कि मेरा ऐप 46 9 से अधिक डिवाइसों को धक्का दे रहा है यह है कि मैं एक android.hardware.telephony का उपयोग करता हूं ... लेकिन क्या यह हटा दिया जाना चाहिए और मेरा ऐप अभी भी एसएमएस भेज सकता है ?? – Goran

+0

मुझे नहीं पता कि आप ऐप क्या कर रहे हैं, लेकिन मुझे लगता है कि आपको अपने ऐप का हिस्सा हटाना होगा जो कॉलिंग और एसएमएस भेजने से संबंधित है, क्योंकि टैबलेट नहीं है ई उन सुविधाओं। – magicman

1

android:xlargeScreens :
यह विशेषता एपीआई स्तर 9 (एंड्रॉयड 2.3.3) में पेश किया गया था। यदि आपके पास एपीआई लेवल 9 की तुलना में आपका निर्माण लक्ष्य कम है, तो आपको त्रुटि मिलेगी "No resource identifier found for attribute 'xlargeScreens' in package 'android"
अपने निर्माण लक्ष्य को API स्तर 9 या ऊपर सेट करें और यह त्रुटि गायब हो जाएगी।

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