简单的Android Studio项目提供NoClassDefFoundError

时间:2017-03-11 12:56:14

标签: java android

我试图创建一个简单的应用程序,其中包含1个Activity和一些应用程序类,可以在其中进行操作。我正在使用最新的Android Studio,一个新生成的准系统项目,api level 23(适用于Android 6.0.1,我的手机)。

我可以部署,打开和使用我的应用程序大部分都不错,只是当我开始调用活动I的外部项目类时,我在VM中运行时出现错误:底部的堆栈跟踪。

应该发生的是

  1. 活动日志,它将调用外部类
  2. 执行调用,外部类执行一些非常小的工作
  3. 外部课程日志,它将开始认真工作
  4. 到达第一个日志语句,然后突然执行似乎只是停止和外部类'记录行永远不会到达,然后一分钟后我收到错误。我觉得我的外部课程没有被包括在编辑中或类似的东西中。

    我有一段时间以来一直是java开发者,但我接下来没有使用android dev和gradle的经验。

    这是我的项目:https://gitlab.com/Marnes/leaumar.net-android

    相关课程位于https://gitlab.com/Marnes/leaumar.net-android/tree/master/app/src/main/java/leaumar/net/filedump

    相关代码部分是HomeActivity的底部,执行上载测试并调用PresetUpload。数据即将发布的消息永远不会出现。

      

    03-11 13:39:49.998 5295-5295 / leaumar.net.filedump I / leaumar.net.filedump.HomeActivity:用户想要测试上传
       03-11 13:39:49.999 5295-5295 / leaumar.net.filedump I / art:拒绝重新初始化以前失败的类java.lang.Class
       03-11 13:39:49.999 5295-5295 / leaumar.net.filedump I / art:拒绝重新初始化以前失败的类java.lang.Class
       03-11 13:41:05.139 5295-5381 / leaumar.net.filedump I / art:拒绝重新初始化以前失败的类java.lang.Class
      03-11 13:41:05.140 5295-5381 / leaumar.net.filedump E / AndroidRuntime:FATAL EXCEPTION:AsyncTask#1
      过程:leaumar.net.filedump,PID:5295
      java.lang.RuntimeException:执行doInBackground()时发生错误   ...
      引起:java.lang.NoClassDefFoundError:leaumar.net.filedump.http.PresetUpload $ 1
      ...
      03-11 13:41:05.141 5295-5295 / leaumar.net.filedump I / Choreographer:跳过4508帧!应用程序可能在其主线程上做了太多工作。

1 个答案:

答案 0 :(得分:0)

你应该

  1. 添加新模块
  2. 选择“android library”作为类型
  3. 把你的课程放在那里
  4. 转到项目结构并将此新模块设置为主模块的依赖项
  5. 现在的问题是,尽管IDE中的所有内容都很好看,但我收到了构建错误...

      

    :impl:compileReleaseJavaWithJavac - 不是增量的(例如输出已更改,之前没有执行等)。
      编译器(1.8.0_91)发生异常。在检查错误数据库(http://bugreport.java.com)是否有重复项后,请通过Java错误报告页面(http://bugs.java.com)向Java编译器提交错误。在报告中包含您的计划和以下诊断。谢谢。
      com.sun.tools.javac.code.Symbol $ CompletionFailure:找不到java.lang.invoke.MethodType的类文件
      :impl:compileReleaseJavaWithJavac FAILED