java.lang.RuntimeException: 无法启动活动组件信息的活动

3

我正在开发一个应用程序,需要创建一个农历日历。我正在创建一个自定义的农历日历。目前关于农历日历的代码非常有限,但是我还是设法创建了一个。以下是我的代码:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        webView = (WebView)this.findViewById(R.id.wv);
         webView.loadUrl(contentUri);
       // webView.loadUrl("file://D:/Andro_WS_2/LunarCalendar/assets/calendar.html");

        mGestureDetector = new GestureDetector(this);
        webView.setOnTouchListener(this);
        try {
            Thread.sleep(1500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }                  

        webView.loadUrl("javascript:pushBtm('MU')");  
        webView.loadUrl("javascript:pushBtm('MD')"); 

        if(!ConfigCenter.getValue(this, Constant.KEY_WIDGET_ADDED, false)){ 
                Toast.makeText(MainActivity.this, "Please Wait", Toast.LENGTH_LONG).show();
        }

    }

当我运行这段代码时,它会崩溃。我的错误日志(Logcat)显示:
03-20 04:51:41.197: E/AndroidRuntime(967): FATAL EXCEPTION: main
03-20 04:51:41.197: E/AndroidRuntime(967): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lunarcalendar/com.example.lunarcalendar.MainActivity}: android.view.InflateException: Binary XML file line #23: Error inflating class net.youmi.android.AdView
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.os.Looper.loop(Looper.java:137)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread.main(ActivityThread.java:5039)
03-20 04:51:41.197: E/AndroidRuntime(967):  at java.lang.reflect.Method.invokeNative(Native Method)
03-20 04:51:41.197: E/AndroidRuntime(967):  at java.lang.reflect.Method.invoke(Method.java:511)
03-20 04:51:41.197: E/AndroidRuntime(967):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-20 04:51:41.197: E/AndroidRuntime(967):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-20 04:51:41.197: E/AndroidRuntime(967):  at dalvik.system.NativeStart.main(Native Method)
03-20 04:51:41.197: E/AndroidRuntime(967): Caused by: android.view.InflateException: Binary XML file line #23: Error inflating class net.youmi.android.AdView
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
03-20 04:51:41.197: E/AndroidRuntime(967):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.Activity.setContentView(Activity.java:1881)
03-20 04:51:41.197: E/AndroidRuntime(967):  at com.example.lunarcalendar.MainActivity.onCreate(MainActivity.java:44)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.Activity.performCreate(Activity.java:5104)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
03-20 04:51:41.197: E/AndroidRuntime(967):  ... 11 more
03-20 04:51:41.197: E/AndroidRuntime(967): Caused by: java.lang.ClassNotFoundException: Didn't find class "net.youmi.android.AdView" on path: /data/app/com.example.lunarcalendar-2.apk
03-20 04:51:41.197: E/AndroidRuntime(967):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
03-20 04:51:41.197: E/AndroidRuntime(967):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
03-20 04:51:41.197: E/AndroidRuntime(967):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.createView(LayoutInflater.java:552)
03-20 04:51:41.197: E/AndroidRuntime(967):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
03-20 04:51:41.197: E/AndroidRuntime(967):  ... 21 more

我的XML是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:umadsdk="http://schemas.android.com/apk/res/com.china.calendar"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/white"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/wv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <net.youmi.android.AdView
        android:id="@+id/ad"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

1
你是否已经将广告库添加到项目的libs文件夹中? - GrIsHu
请发布您的清单文件代码或检查您是否在清单中添加了以下行:<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />。 - GrIsHu
是的Grishu,我已经添加了这个库。 - Prinkal
第44行:setContentView(R.layout.main); - Prinkal
我已经从我的XML和代码中移除了AdView,现在它正在工作。我正在从Assets中获取一个HTML文件,当我运行它时,我的AVD显示“该网页(文件地址)可能暂时下线或已永久移至新的网址。”请问有谁可以告诉我为什么会出现这个错误? - Prinkal
显示剩余5条评论
1个回答

1

我认为你应该在布局文件中更改adview类。

除了将adview定义为net.youmi.android.AdView,尝试在布局中将其定义为com.google.ads.AdView

按照以下方式添加AdView

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" <!-- Change this line also -->
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/white"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/wv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <com.google.ads.AdView
        android:id="@+id/ad"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="your add id" />

</RelativeLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接