2011-10-13 14 views
7

cuando traté de añadiridentificador installLocation no se encuentra en el paquete Eclipse Android

android:installLocation="auto" 

en mi archivo AndroidManifest.xml He encontrado el siguiente error en Eclipse

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

la manera de superar este problema?

Editado:

Mi archivo de manifiesto es:

error
<?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> 

está mostrando en la línea androide: INSTALLLOCATION = "auto"

Gracias

+0

¿cuál es la aplicación minSDKVersion? – user370305

+0

he agregado el manifiesto @ user370305 – fean

+0

minSdkVersion = "7" – fean

Respuesta

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

Introduced in: API Level 8. 

compatibilidad con versiones anteriores

La posibilidad de que su aplicación se instale en el almacenamiento externo es una función disponible solo en dispositivos con nivel API 8 (Android 2.2) o superior. Las aplicaciones existentes que se crearon antes de API Nivel 8 siempre se instalarán en el almacenamiento interno y no se pueden mover al almacenamiento externo (incluso en dispositivos con API Nivel 8). Sin embargo, si su aplicación está diseñada para admitir un Nivel de API inferior a 8, puede optar por esta función para dispositivos con Nivel de API 8 o superior y aún ser compatible con dispositivos que utilicen un Nivel de API inferior a 8.

para permitir la instalación de almacenamiento externo y siendo compatible con versiones anteriores a la API Nivel 8:

  1. Incluya el atributo android: installLocation con un valor de "auto" o "preferExternal" en el elemento.
  2. Deje su atributo android: minSdkVersion como está (algo menos que "8") y asegúrese de que el código de su aplicación solo use API compatibles con ese nivel.
  3. Para compilar su aplicación, cambie su objetivo de compilación al nivel de API 8. Esto es necesario porque las bibliotecas de Android anteriores no entienden el atributo android: installLocation y no compilará su aplicación cuando esté presente.

Cuando la aplicación está instalada en un dispositivo con un nivel de API inferior a 8, el atributo android: installLocation se ignora y la aplicación se instala en el almacenamiento interno.

Precaución: Aunque el formato XML como este será ignorado por plataformas más antiguas, hay que tener cuidado de no usar API de programación introducidos en la API de nivel 8, mientras que su minSdkVersion es inferior a "8", a menos que realice el trabajo necesario para proporcionar compatibilidad con versiones anteriores en su código. Para obtener información sobre la construcción de compatibilidad con versiones anteriores en el código de su aplicación, consulte el Backward Compatibility article.

+0

Gracias, funciona bien ahora – fean

2

==> ir a la configuración del proyecto Eclipse -> sección "Android" y seleccionar al menos API de nivel 8 no.

al que hace referencia el usuario "user370305" como comentario: cambie la versión de su aplicación de api de las propiedades a 8 o superior. entonces funciona bien Mira mi respuesta editada. - user370305 13 de octubre de 2011 a las 8:06

thx & & buena suerte! : =)

Cuestiones relacionadas