2014-09-25 17 views
8

Integruje się admob w mojej doskonale działającej aplikacji na Androida. udało mi się dostać rzeczy do pracy na moim Jelly Bean (4.1.2) telefonicznie, ale aplikacja rozbił się na moim tablecie plastra miodu (3.2) z komunikatemadmob: aplikacja ulega awarii na Androidzie 3.2

java.lang.NoClassDefFoundError: android.net.http.HttpResponseCache

Nie wiem, czy istotne, ale w moim pliku manifestu I ustawiłem minSdkVersion = "9"

Nie mogę znaleźć podobnych problemów w Google. Czy ktoś to widział wcześniej? Co może być przyczyną?

edytuj: w folderze libs nie ma plików. Wszystko jest ustawione za pomocą gradle.

Mój plik manifestu:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="foo.bar.results" 
    android:versionCode="6" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="9" 
     android:targetSdkVersion="19" /> 

    <application 
     android:icon="@drawable/bar" 
     android:label="@string/app_name" > 
     <meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <activity 
      android:name=".bar" 
      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:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" 
      android:theme="@android:style/Theme.Translucent" /> 
    </application> 

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

</manifest> 
+0

postu plik manifestu –

+0

mamy plik jar wykorzystanie lib projekt i AdMob –

+3

to wydaje się, że już dzisiaj, dla wiele osób ... – PearsonArtPhoto

Odpowiedz

2

Wydaje się to być błąd, który rozpoczął się dla wielu ludzi na 25 września. Firma Google obiecała, że ​​aktualizacja nastąpi w ciągu najbliższego tygodnia, aby rozwiązać ten problem.

Podsumowując, sprowadza się to do pomyłki w dokumentach Androida. HttpResponseCache w Android SDK mówi, że jest dostępny w API 13, ale wydaje się, że API 13 faktycznie nie obsługuje HttpResponseCache, a raczej, że musisz przejść do poziomu API 14, aby uzyskać wsparcie dla niego. Tak więc ktoś opublikował zmianę w wersji dla API 13 bez sprawdzania jej poprawnie, polegając na dokumentach SDK Androida.

Na razie, najlepszym rozwiązaniem jest, aby zrobić coś takiego:

try { 
    adView.loadAd(builder.build()); 
} catch (NoClassDefFoundError ex) {} 
+0

Każdy pomysł, jak to naprawić i kiedy? dziś zaktualizowałem moje google_services_lib do wersji 19. Czy to jest poprawka, w której ją naprawiają? – code511788465541441

+0

Rev 19 wydaje się być przez jakiś czas. Nie rozumiem doskonale, gdzie jest problem, chociaż zauważyłem to bez niczego aktualizacji z mojego końca. Podejrzewam, że to jakiś problem z serwerem ... – PearsonArtPhoto

+0

Z jakiegoś powodu moja kompilacja dzisiaj działa bez tej pracy. Hmmm... – PearsonArtPhoto

-2

Wystarczy zaktualizować google play-usług z Android SDK Manager. Po tym uruchom ponownie IDE i wyczyść projekt. To działa.

+0

Cześć, dziękuję za odpowiedź. Myślę, że mam najnowszą wersję, nie ma żadnej wzmianki o aktualizacji w menedżerze sdk. – bolvo

+2

addendum: aktualnie zainstalowana wersja usług odtwarzania to Rev. 19 – bolvo

4

Wygląda na to (jeszcze jedno), ale w Usługach Google Play. Mamy 176 raportów o awariach na temat systemu Android 3.2 dla tego problemu, więc to nie twój kod jest problemem.

Oto problem zgłaszane na forum Google AdMob: http://goo.gl/hNdiVo

+0

dzięki za wiadomość. Ponieważ była to moja pierwsza próba admobowania, wydaje się, że jest to bardzo przypadkowe, że tak powinno być teraz. Zła karma? :) – bolvo

Powiązane problemy