您的位置:首页 > 移动开发 > Android开发

Android 第三方 Jar 的 Link 与问题:Unable to execute dex: Java heap space的解决方法

2015-03-11 17:46 405 查看
如果工程运行时产生如下的错误:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐