2012-09-27 10 views
6
error: Error: String types not allowed (at 'configChanges' with value 
    'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize'). 

Oto cały mój odpowiedni kod.Ciągle otrzymuję configChanges: Typy łańcuchów niedozwolone błąd. Nawet z docelowym interfejsem API ustawionym na 13

W manifeście:

android:minSdkVersion="8" 
    android:targetSdkVersion="13" 

    android:name="com.google.ads.AdActivity" 
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout 
     |uiMode|screenSize|smallestScreenSize"/> 

ROZWIĄZANIA !!! Problem polegał na złamaniu tagów w configChanges. Musieli być wszyscy razem na jednej linii. Nie dziel linii na czytelność, zostaw to razem.

+0

Czy owinąłeś 'android: name' i' android: configChanges' w tagu ''? – Mxyk

+0

tak, zrobiłem. nie pokazuje tam pełnego kodu –

+0

Duplikat http://stackoverflow.com/questions/11208729/error-tring-types-not-allowed-at-androidconfigchanges-in-manifest-file i http://stackoverflow.com/ pytania/12015972/android-admob-i ntegration-issue-string-types-not-allowed –

Odpowiedz

2

Nawet jeśli cel jest 13, myślę, że to nie będzie działać na urządzeniach z api mniej niż 13, ponieważ wartość zmienił nie tylko TAG w manifeście, ale jest to VALUE z TAG. Dlatego system przeanalizuje te wartości niezależnie od jego api i wyrzuci wyjątek, gdy znajdzie nieznany VALUE.

Aby rozwiązać ten problem, należy dwukrotnie zbudować projekt: dla api < 13 i dla api> = 13.

Popraw mnie jeśli się mylę (:

+0

Admob ma działać na wszystkich urządzeniach z Androidem 1.6 (lub 1,5, nie pamiętam) i do góry. Ale można go zbudować tylko z api 13 i nowszym. Często widziałem to samo pytanie i wszyscy inni pracują po prostu zmieniając docelowy api na 13 lub wyższy. –

+0

Usuń 'smallestScreenSize' &' screenSize' & 'orientation' z 'android: configChanges' –

+0

Jeśli to zrobię, to moja aplikacja ulega awarii i mówi, że te trzy są potrzebne w configChanges. –

5

miałem ten problem, ale budował moją aplikację z api 8. Miałem też api 13 jako minimalnej wersji sdk to jak je zdobyć pracę. Prawo kliknij swój projekt> właściwości> android> wybierz Android w wersji 3.2 lub nowszej. To działało dla mnie

+0

Tak, miałem matkę czasu ze wszystkim, co jest poprawne. Tego właśnie potrzebowałem. Dzięki! – a54studio

Powiązane problemy