• 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

  • 相关阅读:
    基于MFC的Media Player播放器的制作(1---播放器界面的布局)
    Codeforces 1182
    Codeforces 1169
    Codeforces 1167
    Codeforces 1166
    Codeforces 1148
    *Codeforces 1162
    Codeforces 1159
    点分治
    高斯消元*
  • 原文地址:https://www.cnblogs.com/91program/p/5194230.html
Copyright © 2020-2023  润新知