2011-10-13 10 views
7

quando ho provato ad aggiungereinstallLocation identificatore non trovato in Eclipse pacchetto Android

android:installLocation="auto" 

nel mio file AndroidManifest.xml ho trovato il seguente errore in Eclipse

error: No resource identifier found for attribute "installLocation" in package "android" 

come superare questo problema?

Modificato:

Il mio file manifesto è:

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

     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

    <application 
     android:label="@string/app_name" android:icon="@drawable/icon"> 

    <activity 
     android:screenOrientation="portrait" 
     android:name=".StarterActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action 
       android:name="android.intent.action.MAIN" /> 
      <category 
       android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
    android:screenOrientation="portrait" 
     android:name="GamePlayActivity"></activity> 

       <activity 
    android:screenOrientation="portrait" 
     android:name="LoginActivity"></activity> 

       <activity 
    android:screenOrientation="portrait" 
     android:name="SignupActivity"></activity> 

    <activity 
    android:screenOrientation="portrait" 
     android:name="MainMenuActivity"></activity> 
    <activity 
    android:screenOrientation="portrait" 
     android:name="InfoActivity"></activity> 

    <activity 
    android:screenOrientation="portrait" 
     android:name="ViewScoreActivity"></activity>  



    <activity 
    android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation"></activity> 

    </application> 
    <uses-sdk 
     android:minSdkVersion="7" 
    /> 


</manifest> 

errore sta mostrando in linea Android: installLocation = "auto"

Grazie

+0

qual è la versione minSDK della tua applicazione? – user370305

+0

ho aggiunto il manifest @ user370305 – fean

+0

minSdkVersion = "7" – fean

risposta

15
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      android:installLocation=["auto" | "internalOnly" | "preferExternal"] > 
    . . . 
</manifest> 

Introduced in: API Level 8. 

Backward Compatibility

La possibilità per l'applicazione di installare nella memoria esterna è una funzionalità disponibile solo su dispositivi con livello API 8 (Android 2.2) o versioni successive. Le applicazioni esistenti che sono state create prima dell'API di livello 8 verranno sempre installate nella memoria interna e non possono essere spostate nell'archivio esterno (anche su dispositivi con livello API 8). Tuttavia, se la tua applicazione è progettata per supportare un livello API inferiore a 8, puoi scegliere di supportare questa funzionalità per dispositivi con livello API 8 o superiore ed essere comunque compatibile con dispositivi che utilizzano un livello API inferiore a 8.

per consentire l'installazione su storage esterno e rimanere compatibile con le versioni inferiori API Livello 8:

  1. Includere l'androide: attributo installLocation con un valore di "auto" o "preferExternal" nell'elemento.
  2. Lascia il tuo androide: attributo minSdkVersion così com'è (qualcosa di meno di "8") e assicurati che il tuo codice applicativo utilizzi solo API compatibili con quel livello.
  3. Per compilare la tua applicazione, modifica il tuo obiettivo di costruzione su API Livello 8. Ciò è necessario perché le vecchie librerie Android non comprendono l'attributo android: installLocation e non compilano la tua applicazione quando è presente.

Quando l'applicazione è installata su un dispositivo con un livello API inferiore a 8, l'attributo android: installLocation viene ignorato e l'applicazione viene installata nella memoria interna.

Attenzione: Anche se markup XML come questo verrà ignorato dalle piattaforme più anziani, è necessario fare attenzione a non usare la programmazione API introdotte nel API Livello 8 in tutta minSdkVersion è inferiore a "8", a meno che non si esegue il lavoro necessario per garantire la retrocompatibilità nel codice. Per informazioni sulla creazione di compatibilità con le versioni precedenti nel codice dell'applicazione, consultare Backward Compatibility article.

+0

Grazie, ora funziona bene – fean

2

==> andare a impostazioni del progetto Eclipse -> Sezione "Android" e selezionare almeno API Livello 8 lì.

referenziato dall'utente "utente370305" come commento: modificare la versione api dell'applicazione dalle proprietà renderla 8 o successiva. allora funziona bene. Guarda la mia risposta modificata. - user370305 13 ottobre 11 alle 8:06

thx & & buona fortuna! : =)

Problemi correlati