无法实例活动抛出java.lang.ClassNotFoundException抛出、实例、java、lang

2023-09-08 10:20:02 作者:择以年

我看到下面的错误在开发周期中了几次,现在我刚刚收到错误报告。我不知道是什么导致了这一点。阅读关于这个问题在这个网站类似的问题后,我双重检查我的Andr​​oidManifest,一切看起来没什么问题。什么任何想法可能可能会导致这个异常?

 了java.lang.RuntimeException:无法实例活动ComponentInfo {com.jerrellmardis.ridecta / com.jerrellmardis.ridecta.ui.StopTimesActivity}:抛出java.lang.ClassNotFoundException:com.jerrellmardis .ridecta.ui.StopTimesActivity在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)在android.app.ActivityThread.access $ 600(ActivityThread.java:130)在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1195)在android.os.Handler.dispatchMessage(Handler.java:99)在android.os.Looper.loop(Looper.java:137)在android.app.ActivityThread.main(ActivityThread.java:4745)在java.lang.reflect.Method.invokeNative(本机方法)在java.lang.reflect.Method.invoke(Method.java:511)在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)在dalvik.system.NativeStart.main(本机方法)抛出java.lang.ClassNotFoundException:引起com.jerrellmardis.ridecta.ui.StopTimesActivity在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)在java.lang.ClassLoader.loadClass(ClassLoader.java:501)在java.lang.ClassLoader.loadClass(ClassLoader.java:461)在android.app.Instrumentation.newActivity(Instrumentation.java:1053)在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)... 11更多 

另外要注意的事情是,我使用的是Android的支持-V4-GOOGLEMAPS在LIB的 https://github.com/petedoyle/android-support-v4-googlemaps ,让我来嵌入片段的图形页面(与ActionBarSherlock LIB一起)。这个例外似乎是一个依赖的问题,我不知道,如果是涉及到我如何使用上面提到的库。

下面的清单文件:

 <?XML版本=1.0编码=UTF-8&GT?;<清单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android    包=com.jerrellmardis.ridecta    安卓的installLocation =internalOnly    安卓版code =11    机器人:=的versionName1.0.2>    <用途-SDK        安卓的minSdkVersion =10        机器人:targetSdkVersion =16/>    <使用许可权的android:NAME =android.permission.INTERNET对/>    <使用许可权的android:NAME =android.permission.ACCESS_NETWORK_STATE/>    <使用许可权的android:NAME =android.permission.READ_PHONE_STATE/>    <使用许可权的android:NAME =android.permission.ACCESS_FINE_LOCATION/>    <使用许可权的android:NAME =android.permission.VIBRATE/>    <使用许可权的android:NAME =android.permission.WAKE_LOCK/>    <使用许可权的android:NAME =com.android.vending.BILLING/>    <使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAG​​E/>    <使用许可权的android:NAME =android.permission.RECEIVE_BOOT_COMPLETED/>    <应用        机器人:名字=。RideCtaApplication        机器人:allowBackup =真        机器人:backupAgent =。backup.RideCtaBackupAgentHelper        机器人:hardwareAccelerated =真        机器人:图标=@绘制/ ic_launcher        机器人:标签=@字符串/ APP_NAME        机器人:标志=@绘制/标志>        <使用库机器人:名字=com.google.android.maps/>        <活动            机器人:名字=。ui.HomeActivity            机器人:configChanges =方向| keyboardHidden |屏幕尺寸            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta.LogoOnly>            &所述;意图滤光器>                <作用机器人:名字=android.intent.action.MAIN/>                <类机器人:名字=android.intent.category.LAUNCHER/>            &所述; /意图滤光器>        < /活性GT;        <活动            机器人:名字=。ui.BusDirectionsActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta/>        <活动            机器人:名字=。ui.StopsActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta/>        <活动            机器人:名字=。ui.StopTimesActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta.Split            机器人:uiOptions =splitActionBarWhenNarrow/>        <活动            机器人:名字=。ui.TrainDirectionsActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta/>        <活动            机器人:名字=。ui.LiveMapActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta.Transparent/>        <活动            机器人:名字=。ui.ServiceAlertsActivity            机器人:标签=@字符串/ APP_NAME            机器人:主题=@风格/ Theme.RideCta/>        <活动            机器人:名字=。ui.SearchActivity            机器人:出口=真            机器人:launchMode =singleTop            机器人:主题=@风格/ Theme.RideCta>            &所述;意图滤光器>                <作用机器人:名字=android.intent.action.SEARCH/>                <类机器人:名字=android.intent.category.DEFAULT/>            &所述; /意图滤光器>            &所述;元数据                机器人:名字=android.app.searchable                机器人:资源=@ XML /搜索/>        < /活性GT;        <活动            机器人:名字=。UI preferenceActivity            机器人:标签=@字符串/ APP_NAME            @风格/主题preference:机器人主题= />        <活动            机器人:ui.Legacy preferenceActivityNAME =            机器人:标签=@字符串/ APP_NAME            @风格/主题preference:机器人主题= />        <活动            机器人:名字=com.google.ads.AdActivity            android:configChanges=\"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize\"/>        <接收机器人:名字=。receiver.ReminderAlarmReceiver/>        <接收机器人:名字=。receiver.ReminderBootReceiver>            &所述;意图滤光器>                <作用机器人:名字=android.intent.action.BOOT_COMPLETED/>            &所述; /意图滤光器>        < /接收器>        <接收机器人:名字=net.robotmedia.billing.BillingReceiver>            &所述;意图滤光器>                <作用机器人:名字=com.android.vending.billing.IN_APP_NOTIFY/>                <作用机器人:名字=com.android.vending.billing.RESPONSE_ code/>                <作用机器人:名字=com.android.vending.billing.PURCHASE_STATE_CHANGED/>            &所述; /意图滤光器>        < /接收器>        <服务机器人。service.ReminderServiceNAME = />        <服务机器人:名字=net.robotmedia.billing.BillingService/>        &所述;元数据            机器人:名字=android.app.default_searchable            机器人:值=。ui.SearchActivity/>        &所述;元数据            机器人:名字=com.google.android.backup.api_key            机器人:值=<免去>/>        <供应商            机器人:名字=。provider.SearchProvider            机器人:当局=com.jerrellmardis.ridecta.provider.SearchProvider/>    < /用途>< /清单> 
Java学习教程 Java基础 反射

解决方案

它看起来像我已经不使用了android支持-V4-GOOGLEMAPS LIB固定的问题。我改变了我的应用程序使用地图的ImageView的一个片段,然后一个普通的老MapActivity一旦用户点击地图图像。因为这样做,我还没有发现任何RuntimeExceptions。

I've seen the following error a few times during the development cycle and now I just received an error report. I have no idea what's causing this. After reading similar questions on this site regarding this issue, I double checked my AndroidManifest and everything looks fine to me. Any ideas on what could possibly be causing this exception?

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.jerrellmardis.ridecta/com.jerrellmardis.ridecta.ui.StopTimesActivity}: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
at android.app.ActivityThread.access$600(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.jerrellmardis.ridecta.ui.StopTimesActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
... 11 more

Another thing to note is that I'm using the android-support-v4-googlemaps lib found at https://github.com/petedoyle/android-support-v4-googlemaps which allows me to embed a MapView in a Fragment (along with the ActionBarSherlock lib). This exception seems like a dependency issue and I'm not sure if it's related to how I'm using the above mentioned libs.

Here's the manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.jerrellmardis.ridecta"
    android:installLocation="internalOnly"
    android:versionCode="11"
    android:versionName="1.0.2">
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="16"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="com.android.vending.BILLING"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <application
        android:name=".RideCtaApplication"
        android:allowBackup="true"
        android:backupAgent=".backup.RideCtaBackupAgentHelper"
        android:hardwareAccelerated="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:logo="@drawable/logo">
        <uses-library android:name="com.google.android.maps"/>
        <activity
            android:name=".ui.HomeActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta.LogoOnly">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.BusDirectionsActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta"/>
        <activity
            android:name=".ui.StopsActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta"/>
        <activity
            android:name=".ui.StopTimesActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta.Split"
            android:uiOptions="splitActionBarWhenNarrow"/>
        <activity
            android:name=".ui.TrainDirectionsActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta"/>
        <activity
            android:name=".ui.LiveMapActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta.Transparent"/>
        <activity
            android:name=".ui.ServiceAlertsActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.RideCta"/>
        <activity
            android:name=".ui.SearchActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/Theme.RideCta">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable"/>
        </activity>
        <activity
            android:name=".ui.PreferenceActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.Preference"/>
        <activity
            android:name=".ui.LegacyPreferenceActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.Preference"/>
        <activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
        <receiver android:name=".receiver.ReminderAlarmReceiver"/>
        <receiver android:name=".receiver.ReminderBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
        <receiver android:name="net.robotmedia.billing.BillingReceiver">
            <intent-filter>
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY"/>
                <action android:name="com.android.vending.billing.RESPONSE_CODE"/>
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
            </intent-filter>
        </receiver>
        <service android:name=".service.ReminderService"/>
        <service android:name="net.robotmedia.billing.BillingService"/>
        <meta-data
            android:name="android.app.default_searchable"
            android:value=".ui.SearchActivity"/>
        <meta-data
            android:name="com.google.android.backup.api_key"
            android:value="<REMOVED>"/>
        <provider
            android:name=".provider.SearchProvider"
            android:authorities="com.jerrellmardis.ridecta.provider.SearchProvider"/>
    </application>
</manifest>

解决方案

It looks like I've fixed the issue by not using the android-support-v4-googlemaps lib. I changed my app to use an ImageView of Map in a Fragment and then a plain old MapActivity once the user clicks on the Map image. Since doing this I haven't noticed any RuntimeExceptions.