admob: приложение вылетает на Android 3.2

Я интегрирую admob в свое прекрасно работающее приложение для Android. Мне удалось заставить все работать на моем телефоне Jelly Bean (4.1.2), но приложение вышло из строя на моем сотовом планшете (3.2) с сообщением

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

Не уверен, что это актуально, но в моем файле манифеста я установил свой minSdkVersion="9"

Кажется, я не могу найти связанные проблемы в Google. Кто-нибудь видел это раньше? Что может быть причиной?

редактировать: в папке libs нет файлов. Все настраивается с помощью gradle.

Мой файл манифеста:

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

person bolvo    schedule 25.09.2014    source источник
comment
использовать проект lib и файл jar admob   -  person Naveen Tamrakar    schedule 25.09.2014
comment
Кажется, это началось сегодня, для многих людей...   -  person PearsonArtPhoto    schedule 26.09.2014
comment
Я только что заметил ту же проблему для моего тестового приложения сегодня. Admob вылетает при loadAd. Я просто добавил попытку и поймать NoClassDefFoundError, чтобы игнорировать эту проблему для устройств 3.2 в качестве временного решения.   -  person xiaowoo    schedule 28.09.2014
comment
Еще одна проблема с адмобом за такой короткий период. Другой месяц или около того назад потребовалось несколько недель, чтобы починить. Теперь это. Это стоит нам денег, так как реклама не отображается для пользователей 3.2. Это также стоит денег Google, надеюсь, они скоро это исправят. Между тем, я могу только надеяться, что попытка поймать может   -  person code511788465541441    schedule 03.10.2014


Ответы (3)


Кажется, это ошибка, которая началась для многих людей 25 сентября. Google пообещал, что в течение следующей недели выйдет обновление, которое устранит эту проблему.

В итоге это сводится к ошибке в документах андроида. HttpResponseCache в Android SDK говорит, что он доступен в API 13, но похоже, что API 13 на самом деле не поддерживает HttpResponseCache, а вам нужно перейти на уровень API 14, чтобы получить его поддержку. Итак, кто-то выпустил изменение сборки для API 13, не проверив его должным образом, полагаясь на правильность документов Android SDK.

На данный момент лучше всего сделать что-то вроде этого:

try {
    adView.loadAd(builder.build());
} catch (NoClassDefFoundError ex) {}
person PearsonArtPhoto    schedule 01.10.2014
comment
Есть идеи, как они это исправят и когда? сегодня я обновил свою google_services_lib до версии 19. Это исправление, в котором они это исправляют? - person code511788465541441; 03.10.2014
comment
Rev 19, кажется, где-то некоторое время. Я не совсем понимаю, в чем проблема, хотя я заметил это без каких-либо обновлений с моей стороны. Подозреваю, что это какая-то проблема с сервером... - person PearsonArtPhoto; 04.10.2014
comment
Кажется, проблема решилась сама собой. Все теперь работает и на сотах. Я не очень хорошо понимаю, так как я не обновлял игровые сервисы ... Google должен иметь доступ АНБ к моему компьютеру;) - person bolvo; 09.10.2014

Это вроде бы (еще одно), но в Сервисах Google Play. У нас есть 176 отчетов о сбоях в Android 3.2 по этой проблеме, поэтому проблема не в вашем коде.

Вот сообщение о проблеме на форуме Google AdMob: http://goo.gl/hNdiVo.

person Christer Nordvik    schedule 27.09.2014
comment
Спасибо за сообщение. Поскольку это была моя первая попытка использования admob, то, что это должно произойти именно сейчас, кажется совершенно случайным. Плохая карма? :) - person bolvo; 28.09.2014

Просто обновите свои сервисы google-play из Android SDK Manager. После этого перезапустите IDE и очистите проект. Оно работает.

person Sanjay Kushwaha    schedule 25.09.2014
comment
Привет, спасибо за ваш ответ. Я думаю, что использую последнюю версию, в диспетчере sdk нет упоминания об обновлении. - person bolvo; 25.09.2014
comment
дополнение: в настоящее время установлена ​​версия игровых сервисов Rev. 19 - person bolvo; 25.09.2014