2013-03-01 55 views
0

我一直在关注如何构建android应用程序的在线教程,一切都很顺利,直到今天,我一直在尝试admob,首先我跟着教程,我的应用程序崩溃了java和xml方式添加admob。然后我按照admob.com上的说明进行操作。有没有人有一个想法如何解决这个问题?我是OOP(Java/Android)的全新品牌。Admob崩溃我的应用程序Android(Eclipse)

以下是错误日志:

03-01 20:02:06.910:E/AndroidRuntime(4670):< - 所有行开始与。

FATAL EXCEPTION: main 
java.lang.NoClassDefFoundError: com.google.ads.AdView 
at com.example.myfirstapp.Data.onCreate(Data.java:31) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 
at android.app.ActivityThread.access$1500(ActivityThread.java:123) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:130) 
at android.app.ActivityThread.main(ActivityThread.java:3835) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
at dalvik.system.NativeStart.main(Native Method) 

Data.java:

package com.example.myfirstapp; 


import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.RelativeLayout; 
import android.widget.TextView; 

import com.google.ads.AdRequest; 
import com.google.ads.AdSize; 
import com.google.ads.AdView; 

public class Data extends Activity implements OnClickListener { 

    private AdView ad; 
    Button start, startFor; 
    EditText sendET; 
    TextView gotAnswer; 
    RelativeLayout rl; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.get); 
     initialize(); 
     ad = new AdView(this, AdSize.BANNER, "a151303d6f29c9c"); 
     rl = (RelativeLayout) findViewById(R.id.relLayout); 
     rl.addView(ad); 
     ad.loadAd(new AdRequest()); 

    } 

    @Override 
    protected void onDestroy() { 
     // TODO Auto-generated method stub 
     if (ad != null) { 
      ad.destroy(); 
     } 
     super.onDestroy(); 
    } 

    private void initialize() { 
     // TODO Auto-generated method stub 
     start = (Button) findViewById(R.id.bSA); 
     startFor = (Button) findViewById(R.id.bSAFR); 
     sendET = (EditText) findViewById(R.id.etSend); 
     gotAnswer = (TextView) findViewById(R.id.tvGot); 
     start.setOnClickListener(this); 
     startFor.setOnClickListener(this); 

    } 

    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     switch (arg0.getId()) { 
     case R.id.bSA: 
      String bread = sendET.getText().toString(); 
      Bundle basket = new Bundle(); 
      basket.putString("key", bread); 
      Intent a = new Intent(Data.this, OpenedClass.class); 
      a.putExtras(basket); 
      startActivity(a); 
      break; 
     case R.id.bSAFR: 
      Intent i = new Intent(Data.this, OpenedClass.class); 
      startActivityForResult(i, 0); 
      break; 
     } 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 
     if (resultCode == RESULT_OK) { 
      Bundle basket = data.getExtras(); 
      String s = basket.getString("answer"); 
      gotAnswer.setText(s); 
     } 
    } 

} 

回答

0

我的猜测是,你的Android项目没有正确的AdView的类似乎是目前在编译时间,但在运行时不表明配置该项目确实有对Admob库的引用,但打包的应用程序(apk)没有。 现在因为你的问题没有包括你正在使用的开发环境的信息,所以没有具体的指导,我可以给你解决这个问题。

当然这也将有助于如果你能发布Data.java代码,至少onCreate()方法,看看你在31行

+0

我已经添加了Data.java代码在做什么,谢谢你的答复。 – 2013-03-03 23:10:24

+0

您是如何将Admob库添加到您的项目以及您使用的是哪种开发环境的? – 2013-03-04 00:57:17