2011-10-13 11 views
7

gdy próbowałem dodaćidentyfikator InstallLocation Nie znaleziono w Eclipse pakietu Android

android:installLocation="auto" 

w moim pliku AndroidManifest.xml znalazłem następujący błąd w Eclipse

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

jak rozwiązać ten problem?

edycja:

Mój plik Oczywisty jest:

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

błędzie jest wyświetlany w linii android: InstallLocation = "auto"

Dzięki

+0

jaka jest minSDKVersion aplikacji? – user370305

+0

Dodałem manifest @ user370305 – fean

+0

minSdkVersion = "7" – fean

Odpowiedz

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

Introduced in: API Level 8. 

Kompatybilność wsteczna

Możliwość zainstalowania aplikacji w pamięci zewnętrznej to funkcja dostępna tylko na urządzeniach z API poziomu 8 (Android 2.2) lub nowszym. Istniejące aplikacje, które zostały zbudowane przed 8 poziomem API, będą zawsze instalowane w pamięci wewnętrznej i nie będą mogły zostać przeniesione do pamięci zewnętrznej (nawet na urządzeniach z poziomem API 8). Jeśli jednak aplikacja została zaprojektowana do obsługi poziomu interfejsu API niższego niż 8, można włączyć tę funkcję dla urządzeń z poziomem API 8 lub wyższym i nadal być zgodna z urządzeniami używającymi poziomu interfejsu API niższego niż 8.

aby umożliwić instalację na zewnętrznej pamięci masowej i pozostają zgodne z wersjami niższy niż poziom API 8:

  1. Dołącz android: atrybut installLocation o wartości „Auto” lub „preferExternal” w elemencie.
  2. Zostaw swój atrybut android: minSdkVersion tak jak jest (coś mniej niż "8") i upewnij się, że twój kod aplikacji używa tylko API zgodnych z tym poziomem.
  3. Aby skompilować aplikację, zmień swój cel kompilacji na poziom API 8. Jest to konieczne, ponieważ starsze biblioteki Androida nie rozumieją atrybutu android: installLocation i nie skompilują aplikacji, gdy jest obecna.

Gdy aplikacja jest zainstalowana na urządzeniu z poziomem interfejsu API niższym niż 8, atrybut android: installLocation jest ignorowany, a aplikacja jest zainstalowana w pamięci wewnętrznej.

Uwaga: Chociaż XML znaczników takich jak ten zostanie zignorowany przez starszych platformach, trzeba uważać, aby nie używać programowania API wprowadzone w API Level 8, podczas gdy Twój minSdkVersion jest mniejsza niż „8”, chyba że wykonują pracę konieczne, aby zapewnić kompatybilność wsteczną w kodzie. Aby uzyskać informacje na temat budowania wstecznej zgodności w kodzie aplikacji, zobacz Backward Compatibility article.

+0

Dzięki, teraz działa dobrze – fean

2

==> iść do ustawieniach projektu Eclipse -> sekcja "Android" i wybrać co najmniej API poziom 8 tam.

, do którego odsyła użytkownik "user370305" jako komentarz: zmienić wersję aplikacji api z właściwości sprawiają, że 8 lub więcej. to działa dobrze. Spójrz na moją zredagowaną odpowiedź. - użytkownik370305 13 października o 8:06

thx & & Powodzenia! : =)

Powiązane problemy