2 win15677335854 win15677335854 于 2015.07.12 15:52 提问

java、Android和matlab混合编程问题 新手求助 20C

大家帮忙看看,我将matlab中m文件打包成jar,引入jar包后在 java project能正常运行,
但在Android project就出错,具体错误信息:
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at MotionBlur.DealMotionBlur.(DealMotionBlur.java:64)
at com.example.testcompilebetweenjavamatlab.MainActivity.testMatlab(MainActivity.java:115)
at com.example.testcompilebetweenjavamatlab.MainActivity.onCreate(MainActivity.java:51)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
...
Caused by: java.lang.VerifyError: com/mathworks/toolbox/javabuilder/internal/MWMCR
at MotionBlur.MotionBlurMCRFactory.(MotionBlurMCRFactory.java:131)

java中主要代码:
public static void main(String[] args) throws MWException{
//测试1 简单运算函数
Operation oper = new Operation();
Object[] result = null;
int a = 4;
int b = 10;

    //测试2    传递字符串
    PrintfName pn = new PrintfName();
    Object[] name = null; 

    //测试3  传递filename,matlab处理图片
    DealMotionBlur d = new DealMotionBlur();
    Object[] img = null;
    try {
        result = oper.operation(4,a,b);
        name = pn.PrintfName(1, "E:/temp_cropped7.jpg");
        img = d.MotionBlur(1, "E:/temp_cropped7.jpg");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Android application project中主要代码:
Object[] img = null;
try {

String name = "E:/temp_cropped7.jpg";
img = testMatlab(name);

} catch (MWException e) {
e.printStackTrace();
}

}
public static Object[] testMatlab(String filename) throws MWException {

    DealMotionBlur d = null;
    Object resultimg[] = null;
    try {
        d = new DealMotionBlur();
        resultimg = d.MotionBlur(1,filename);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return resultimg;           
}

6个回答

anlidengshiwei
anlidengshiwei   2015.07.13 16:25

有些包在安卓中可能造成包名冲突,java中不会

CSDNXIAON
CSDNXIAON   2015.07.16 15:23

Matlab与Java混合编程
java与matlab混合编程
matlab c++ 混合编程的一个问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

win15677335854
win15677335854   2015.07.16 16:29

有人遇到过类似问题吗,大家都给点意见吧,不要让帖子沉了

ihtczte
ihtczte   2016.05.07 10:00

需要在项目上设置run configurations,具体做法是:在Project上点击右键,选测Run as,然后选run configurations,之后在Enviroment中添加LD_LIBRARY_PATH,值为/usr/local/MATLAB/R2014b/runtime/glnxa64
我用的是ubuntu,matlab的安装路径是/usr/local/MATLAB/R2014b/,如果是其他系统或其他安装路径,需要修改值

ihtczte
ihtczte 我上面提到的设置指的是解决 ExceptionInInitializerError 错误
一年多之前 回复
qinlvc
qinlvc   2016.05.19 16:08

楼主这个问题解决了吗?求助啊

huanggaowu
huanggaowu   2016.05.26 17:21

matlab java android 混合编程
编程存在平台差异。matlab的玩法和安卓的玩法不一致啊。

Csdn user default icon
上传中...
上传图片
插入图片