热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:AndroidClassNotFoundException:在路径上找不到类:Dexpathlist

我面临以下错误,我几乎尝试了Stackoverflow的每一个解决方案。我是




我面临以下错误,我几乎尝试了Stackoverflow的每一个解决方案。我是android的新手,所以我可能不了解原因。我按照说明测试了一个libgdx项目:https://github.com/libgdx/libgdx/wiki/Setting-up-your-Development-Environment-%28Eclipse%2C-Intellij-IDEA%2C-NetBeans%29

我按顺序安装了下面提到的工具:


  1. JDK(java版本1.8.0.73)

  2. Eclipse IDE for Java Developers版本:Mars.2发布(4.5.2)。

  3. SDK(我有SDK工具24.4.1和SDK构建工具23.0.2和23.0.1)

  4. 来自eclipse中的URL的Android开发工具:https://dl-ssl.google.com/android/eclipse/

  5. Gradle 2.11 - 我解压缩gradle-all-2.11.zip并保存在我的本地机器上。

现在,当我使用gdx-setup.jar生成一个非常基本的示例libgdx项目,并将包命名为my-gdx-game时,它创建了一个桌面版(java应用程序)和一个android版本(android应用程序)

我在通过jar构建项目时使用Build工具V 23.0.1。我的eclipse屏幕看起来像这样:

Eclipse当我右键单击my-gdx-game-desktop和Run as Java应用程序时,它会成功运行并显示和图像(项目就是显示图像)。

现在,对于android项目,我创建了一个AVD - Nexus 5,Android 4.4.2(api 19),CPU:ARM(armeabi-v7a),使用主机GPU。我的manifest.xml文件如下:


android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/GdxTheme" >
android:name="com.mygdx.game.AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:cOnfigChanges="keyboard|keyboardHidden|orientation|screenSize">







项目>属性> Android:仅选择Android 4.4.2(API 19)

现在,当我右键单击项目>运行为> android应用程序时,AVD打开并生成以下错误:

03-08 13:44:35.110: W/dalvikvm(1968): Unable to resolve superclass of Lcom/mygdx/game/AndroidLauncher; (3)
03-08 13:44:35.110: W/dalvikvm(1968): Link of class 'Lcom/mygdx/game/AndroidLauncher;' failed
03-08 13:44:35.110: D/AndroidRuntime(1968): Shutting down VM
03-08 13:44:35.120: W/dalvikvm(1968): threadid=1: thread exiting with uncaught exception (group=0xb1ae4ba8)
03-08 13:44:35.140: E/AndroidRuntime(1968): FATAL EXCEPTION: main
03-08 13:44:35.140: E/AndroidRuntime(1968): Process: com.mygdx.game, PID: 1968
03-08 13:44:35.140: E/AndroidRuntime(1968): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mygdx.game/com.mygdx.game.AndroidLauncher}: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.access$800(ActivityThread.java:135)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.os.Handler.dispatchMessage(Handler.java:102)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.os.Looper.loop(Looper.java:136)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.main(ActivityThread.java:5001)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.reflect.Method.invokeNative(Native Method)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.reflect.Method.invoke(Method.java:515)
03-08 13:44:35.140: E/AndroidRuntime(1968): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
03-08 13:44:35.140: E/AndroidRuntime(1968): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
03-08 13:44:35.140: E/AndroidRuntime(1968): at dalvik.system.NativeStart.main(Native Method)
03-08 13:44:35.140: E/AndroidRuntime(1968): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mygdx.game.AndroidLauncher" on path: DexPathList[[zip file "/data/app/com.mygdx.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.mygdx.game-1, /system/lib]]
03-08 13:44:35.140: E/AndroidRuntime(1968): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
03-08 13:44:35.140: E/AndroidRuntime(1968): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
03-08 13:44:35.140: E/AndroidRuntime(1968): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
03-08 13:44:35.140: E/AndroidRuntime(1968): ... 11 more
03-08 13:49:35.320: I/Process(1968): Sending signal. PID: 1968 SIG: 9

My project Build path

我已经从stackoverflow尝试了很多答案,但似乎没有一个在我的情况下工作。请帮忙。

答案

所以现在问题已经解决了。


  1. 现在检查我的项目和外部依赖项。

  2. 我的manifest.xml现在有android:name =“。AndroidLauncher”。

  3. 将Eclipse java版本更改为1.7对我有用。在Eclipse中,转到Windows-> Preferences-> Java-> Compiler并将“Compiler compliance level”设置为1.7。

第三步是改变我的游戏。谢谢你们的帮助。

另一答案

它可能是您活动的路径。在你的清单中尝试这个:

android:name=".AndroidLauncher"

因为可能你有以上这个

package="com.mygdx.game"

另一答案

我还将描述我的情况,我试图将一个项目用作“库”(通过在我的第二个项目中包含所有源)。只是添加源代码作为项目(一个是核心,一个是android)来构建路径导致了与之前提到的相同的错误(没有找到类等)

为了确保我的第二个Android项目没问题,我不仅需要在“属性 - > Java构建路径 - >项目”中包含源文件夹,而且我还需要转到“订购和导出”选项卡,移动“核心”和“android”条目到顶部并检查它们(默认情况下,它们是未选中的)。毕竟,我的Android应用程序就像一个魅力。

所以,如果你使用现有项目来构建另一个项目并且以前发布的解决方案不起作用,也许我的解决方案会有所帮助(我花了差不多半天时间试图为我的场景找到合适的解决方案......)

另一答案

尝试使用LibGDX从Eclipse运行我的Android应用程序时,我遇到了类似的问题。

我也尝试了前面提到的步骤:

My project and external dependencies are checked now.
My manifest.xml has android:name=".AndroidLauncher" now.
Changing the Eclipse java version to 1.7 worked for me. In Eclipse, go to Windows->Preferences->Java->Compiler and set "Compiler compliance level" to 1.7.

在我的Java Build Path-> Order and Exports中检查以下框的额外步骤修复了dalvik错误和缺少的类。我的Dalvik Error 1问题似乎来自Android私有图书馆。检查GDX订单和出口后未找到的类已修复。

Java Build Path: Order and Exports

另一答案

对我来说,没有应用上述解决方案。今天我使用的是Eclipse Oxygen和Java 1.8。 LibGDX项目设置只是犯了一个小错误,使其无法开箱即用:


  1. 也不要改变清单或java版本。

  2. 必须在“订单和导出”选项卡中更改android项目的构建路径,还必须检查“项目和外部依赖项”。

Build Path

以上是关于Android ClassNotFoundException:在路径上找不到类:Dexpathlist的主要内容,如果未能解决你的问题,请参考以下文章

Android逆向系列文章— Android基础逆向

Android逆向-Android基础逆向(2-2)

图解Android - Android核心机制

图解Android - Android GUI 系统

Android 教程

Android 面试题总结之Android 基础


推荐阅读
  • location,locationManager
    https:stackoverflow.comsearch?tabvotes&q[android]locationisnullhttps:developer.android.go ... [详细]
  • Java源代码安全审计(二):使用Fortify-sca工具进行maven项目安全审计
    本文介绍了使用Fortify-sca工具对maven项目进行安全审计的过程。作者通过对Fortify的研究和实践,记录了解决问题的学习过程。文章详细介绍了maven项目的处理流程,包括clean、build、Analyze和Report。在安装mvn后,作者遇到了一些错误,并通过Google和Stack Overflow等资源找到了解决方法。作者分享了将一段代码添加到pom.xml中的经验,并成功进行了mvn install。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android平台各个版本的API级别、版本号以及平台亮点,从Android 1.0到Android 10.0,共涵盖了多个版本的特点和发展历程。详细内容请参考https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element.html。 ... [详细]
  • 本文主要介绍关于java,intellij-idea,开发语言的知识点,对【JAVA中JDK环境变量配置】和【java最新版本怎么配jdk环境变量】有兴趣的朋友可以看下由【xiao_suan_cai】 ... [详细]
  • Ivecreatedgwtprojectusingmavenplugin:我使用maven插件创建了gwt项目:mvn-DarchetypeGroupIdorg.codehau ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • Ivebeentryingtofindtheoptionofinsertingablanklinebeforetheclosing}oftheclassan ... [详细]
  • IntelliJ代码的字符串引号花样设置
    出发点最近在开辟一个Angular小项目,运用了tslint,我运用了单引号限定。然则IntellijWebstorm的自动引入默许是双引号(double)。IntelliJ+ID ... [详细]
author-avatar
手机用户彡2570437895
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有