AdMob geht nach ADT-Update nicht mehr?

  • Antworten:6
Yorrick R.
  • Forum-Beiträge: 60

31.03.2012, 18:55:49 via Website

Ich habe ein seltsames Problem.
Ich habe heute etwas gebastelt und unter anderem versucht AdMob mit Madvertise zu kombinieren.
Irgendwann wurde die R.java nicht mehr geupdated, also habe ich erst mit dem Android SDK-Manager alles geupdated, danach das ADT selbst auf die Version 17.

Als ich dann das Programm testen wollte bekam ich eine Reihe von Fehlermeldungen:
03-31 18:49:50.028: E/dalvikvm(28592): Could not find class 'com.google.ads.AdRequest', referenced from method com.yorrickreinhart.osgapp.VertretungsplanAktualisierer.onCreate
03-31 18:49:50.028: W/dalvikvm(28592): VFY: unable to resolve new-instance 35 (Lcom/google/ads/AdRequest;) in Lcom/yorrickreinhart/osgapp/VertretungsplanAktualisierer;
03-31 18:49:50.032: D/dalvikvm(28592): VFY: replacing opcode 0x22 at 0x002c
03-31 18:49:50.032: D/dalvikvm(28592): VFY: dead code 0x002e-0059 in Lcom/yorrickreinhart/osgapp/VertretungsplanAktualisierer;.onCreate (Landroid/os/Bundle;)V
03-31 18:49:50.059: I/VertretungsplanAktualisierer(28592): Aktualisierer gestartet
03-31 18:49:50.059: D/AndroidRuntime(28592): Shutting down VM
03-31 18:49:50.059: W/dalvikvm(28592): threadid=1: thread exiting with uncaught exception (group=0x40015578)
03-31 18:49:50.083: E/AndroidRuntime(28592): FATAL EXCEPTION: main
03-31 18:49:50.083: E/AndroidRuntime(28592): java.lang.NoClassDefFoundError: com.google.ads.AdRequest
03-31 18:49:50.083: E/AndroidRuntime(28592): at com.yorrickreinhart.osgapp.VertretungsplanAktualisierer.onCreate(VertretungsplanAktualisierer.java:73)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1491)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:695)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.widget.TabHost.setCurrentTab(TabHost.java:367)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:162)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.view.View.performClick(View.java:2485)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.view.View$PerformClick.run(View.java:9080)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.os.Handler.handleCallback(Handler.java:587)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.os.Handler.dispatchMessage(Handler.java:92)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.os.Looper.loop(Looper.java:130)
03-31 18:49:50.083: E/AndroidRuntime(28592): at android.app.ActivityThread.main(ActivityThread.java:3687)
03-31 18:49:50.083: E/AndroidRuntime(28592): at java.lang.reflect.Method.invokeNative(Native Method)
03-31 18:49:50.083: E/AndroidRuntime(28592): at java.lang.reflect.Method.invoke(Method.java:507)
03-31 18:49:50.083: E/AndroidRuntime(28592): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
03-31 18:49:50.083: E/AndroidRuntime(28592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-31 18:49:50.083: E/AndroidRuntime(28592): at dalvik.system.NativeStart.main(Native Method)
Bezogen auf die erste Zeile, manchmal steht dort auch statt AdRequest AdView.

So erzeuge ich das Banner:
1// Werbung
2 AdRequest adRequest = new AdRequest();
3 adRequest.addTestDevice(AdRequest.TEST_EMULATOR); // Emulator
4 adRequest.addTestDevice("TEST_DEVICE_ID"); // Test Android Device
5
6 // Create the adView
7 adView = new AdView(this, AdSize.BANNER, "meineID");
8
9 // Lookup your LinearLayout assuming it’s been given
10 // the attribute android:id="@+id/mainLayout"
11 FrameLayout layout = (FrameLayout)findViewById(R.id.werbeframe);
12
13 // Add the adView to it
14 layout.addView(adView);
15
16 // Initiate a generic request to load it with an ad
17 adView.loadAd(adRequest);
18// adView.loadAd(new AdRequest());

Wenn ich diesen Bereich auskommentiere, bleibt das Frame unausgefüllt aber sonst funktioniert alles problemlos. Sobald ich den Bereich wieder einkommentiere, startet die Activity nicht mehr... :/ Ich habe alles neue inzwischen wieder rausgeschmissen und die App sieht wieder so aus wie am Anfang...

Hat noch jemand das Problem oder weiß wie man das korrigiert?

Antworten
Dark Blood Studios
  • Forum-Beiträge: 203

31.03.2012, 20:47:42 via Website

Ich habe auch Probleme nach denn Updates. Ich kann die Android und AndroidPIT License Libraries nicht mehr nutzen und es bringt mir auch sonst Fehlermeldungen.

Antworten
Yorrick R.
  • Forum-Beiträge: 60

01.04.2012, 13:44:13 via Website

Dann bin ich zumindest erleichtert, dass ich nicht der einzige bin, der damit zu kämpfen hat...

Antworten
Michael Haar
  • Forum-Beiträge: 55

01.04.2012, 21:06:32 via App

Benutzt du Proguard? Dann musst du mit 17 die Admobsachen als Ausnahme in die cfg eintragen sonst optimiert er die weg.

Antworten
Michael Haar
  • Forum-Beiträge: 55

01.04.2012, 21:10:36 via App

Da hat die Androidpit App wohl ein Problem mit schlechter Verbindung ...

Meine Antwort galt nur für ant-release build mit Kommandozeile - sehe jetzt dass mit eclipse debug build das Problem auch auftritt.

— geändert am 01.04.2012, 22:47:12

Antworten
Matthias
  • Forum-Beiträge: 181

03.04.2012, 18:19:50 via Website

Michael Haar
Admob sdk in den libs Ordner im Projekt kopieren. Ätzend wenn man viele Projekte hat!

Da hast du absolut Recht!

Zusatz: Sollte kein libs-Ordner existieren, dann einfach selbst einen anlegen.
Außerdem den Verweis auf die jar bei Properties -> Java Build Path -> Libraries wieder entfernen.
Funktioniert.

Antworten