zoukankan      html  css  js  c++  java
  • Android 第三方 Jar 的 Link 与问题:Unable to execute dex: Java heap space的解决方法

    如果工程运行时产生如下的错误:

    03-11 16:00:10.363: E/AndroidRuntime(25068): java.lang.RuntimeException: Unable to instantiate service com.xxxx.music.MediaPlayerService: java.lang.ClassNotFoundException: Didn't find class "com.xxxx.music.MediaPlayerService" on path: /data/app/com.jia.yyyy.LeoMediaPlayer.apk

    由说明 MediaPlayerService 的实现没有整合到 apk 包中。
    根据在 Eclipse 中调试时出错时的提示,就可以看到 MediaPlayerService 的定义是在源代码中,还是在 Jar 包中。
    本例的情况是在 Jar 包中,所以 LeoMediaPlayer 需要包含 MediaPlayerService 所在的 Jar 包: 
    在工程 com.jia.yyyy.LeoMediaPlayer 的 Build Path->Configure Build Path... 的弹出式对话框 Java Build Path 中的选项卡: Order and Export 中,勾选 MediaPlayerService 所在的 Jar 包。

    [2015-03-11 16:32:56 - Dex Loader] Unable to execute dex: Java heap space  
    [2015-03-11 16:32:56 - com.jia.yyyy.LeoMediaPlayer] Conversion to Dalvik format failed: Unable to execute dex: Java heap space  

    网上给出的解决方法,都是要修改 eclipse.ini 文件。但是本例是一个例外,不用修改 eclipse.ini 文件,而是不应该包含 .jar 文件。
    如果在工程 com.jia.yyyy.LeoMediaPlayer 的 Build Path->Configure Build Path... 的弹出式对话框 Java Build Path 中的选项卡: Order and Export 中勾选了以下两项,则会产生上述错误。
    core-classes.jar
    framework-classes.jar

  • 相关阅读:
    使用Apache CXF开发WebServices服务端、客户端
    javascript 获取项目根路径
    js密码的校验(判断字符类型、统计字符类型个数)
    JS正则表达式基础总结
    mysql之视图
    mysql之触发器trigger(1)
    mysql之触发器before和after的区别(2)
    MySQL之左连接与右连接
    @Resource和@Autowired的区别
    java计时器
  • 原文地址:https://www.cnblogs.com/91program/p/5194230.html
Copyright © 2011-2022 走看看