无法实例化 activity:ComponentInfo java.lang.ClassNotFoundException 目录“。”
Unable to instantiate activity: ComponentInfo java.lang.ClassNotFoundException Directory "."
我在多个 Whosebug 问题以及其他站点中广泛搜索了此错误,但我收到的日志消息与我之前看到的略有不同。
区别是这样的:
12-05 10:45:11.111: E/AndroidRuntime(2643): 致命异常: main
12-05 10:45:11.111: E/AndroidRuntime(2643): java.lang.RuntimeException: 无法实例化 activity ComponentInfo {com.example.myapp/com.example.myapp.Splash}: java.lang.ClassNotFoundException: 在路径上找不到 class "com.example.myapp.Splash": DexPathList[[directory "."],nativeLibraryDirectories=[ /system/lib]]
我见过的所有其他问题通常在 DexPathlist 中都有一些 apk 路径,但就我而言,什么都没有。
清单的相关部分是:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:hasCode="false" android:requiredForAllUsers="true">
<activity
android:name=".Splash"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
我已经尝试了关于其他问题的所有建议(即启用 Android 私人图书馆和 Android 订单和导出选项卡下的依赖项,清理和重建项目)但似乎没有任何效果!我什至创建了一个新项目并复制了所有内容,但我在新项目中仍然遇到同样的问题。
最令人困惑的是这是自发发生的。一段时间后我回到了这个项目,运行 在添加了一个新图像用于我的初始屏幕之后。唯一想到的是,当我最初上传一张标题为 "sr-splash.jpg" 的图片时,由于破折号而被拒绝。所以我 refactored/renamed 它到 "sr_splash.jpg" 并更新。在这一更改之后,我立即 运行 项目并开始 运行 解决这个问题,但似乎这其中的任何部分都不太可能与错误有关,但只是想我会提到它。
提前致谢!
知道了...就是这一行:
android:theme="@style/AppTheme" android:hasCode="false" android:requiredForAllUsers="true">
我删除了
android:hasCode="false"
并且 运行 正确启动。
我在多个 Whosebug 问题以及其他站点中广泛搜索了此错误,但我收到的日志消息与我之前看到的略有不同。
区别是这样的:
12-05 10:45:11.111: E/AndroidRuntime(2643): 致命异常: main 12-05 10:45:11.111: E/AndroidRuntime(2643): java.lang.RuntimeException: 无法实例化 activity ComponentInfo {com.example.myapp/com.example.myapp.Splash}: java.lang.ClassNotFoundException: 在路径上找不到 class "com.example.myapp.Splash": DexPathList[[directory "."],nativeLibraryDirectories=[ /system/lib]]
我见过的所有其他问题通常在 DexPathlist 中都有一些 apk 路径,但就我而言,什么都没有。
清单的相关部分是:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:hasCode="false" android:requiredForAllUsers="true">
<activity
android:name=".Splash"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
我已经尝试了关于其他问题的所有建议(即启用 Android 私人图书馆和 Android 订单和导出选项卡下的依赖项,清理和重建项目)但似乎没有任何效果!我什至创建了一个新项目并复制了所有内容,但我在新项目中仍然遇到同样的问题。
最令人困惑的是这是自发发生的。一段时间后我回到了这个项目,运行 在添加了一个新图像用于我的初始屏幕之后。唯一想到的是,当我最初上传一张标题为 "sr-splash.jpg" 的图片时,由于破折号而被拒绝。所以我 refactored/renamed 它到 "sr_splash.jpg" 并更新。在这一更改之后,我立即 运行 项目并开始 运行 解决这个问题,但似乎这其中的任何部分都不太可能与错误有关,但只是想我会提到它。
提前致谢!
知道了...就是这一行:
android:theme="@style/AppTheme" android:hasCode="false" android:requiredForAllUsers="true">
我删除了
android:hasCode="false"
并且 运行 正确启动。