与Android应用程序的问题包括可执行使用果冻豆时, [英] Issue including executable with Android application when using Jelly Bean

查看:180
本文介绍了与Android应用程序的问题包括可执行使用果冻豆时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经移植了一些有用的自由/开源工具到Android。一个是八度,而另一个是gnuplot的。他们异口同声地一起工作,为免费的(如语音)和免费提供像Matlab的能力(如啤酒)。我曾在一个有趣的方式包装里面他们的应用程序。具体来说,

I have ported a few useful free/open source tools to Android. One is Octave and the other is gnuplot. They work together in unison to provide Matlab like capability for free (as in speech) and free (as in beer). I have packed them inside apps in an interesting way. Specifically,

1)I包括库/ armeabi目录内的可执行文件和共享库。必须给他们由于Android的命名约定的有趣的名字。

1) I include the executable and shared libraries inside the libs/armeabi directory. Have to give them funny name because of android naming conventions.

2)我创建目录 /和 MYLIB / 。我给他们充分的权限。

2) I create directories bin/ and mylib/. I give them full permissions.

3)我创建斌/ 在解压缩的lib / 目录下的可执行文件的链接。我给他们正确的名称和充分的权限。

3) I create links from bin/ to the executable in the unpacked lib/ directory. I give them the correct names and full permissions.

4)创建于压缩的lib / 目录从 MYLIB / 来共享libaries链接。我给他们正确的名称和充分的权限。

4) I create links from mylib/ to the shared libaries in the unpacked lib/ directory. I give them the correct names and full permissions.

5),然后我用 LD-linux.so.3 这是图书馆之一,现在在 MYLIB / 目录和 - 库路径选项在 MYLIB / 目录指向推出从可执行Android的终端仿真器。

5) I then use ld-linux.so.3 which is one of the libraries now in the mylib/ directory and the--library-path option to point at the mylib/ directory to launch the executable from the Android Terminal Emulator.

八度完美的作品在所有版本的Andr​​oid这样做,但是当我尝试运行果冻豆的时候推出来的gnuplot给出了这样的错误只有:

Octave works perfectly in all version of Android doing this, but gnuplot gives this error when I attempt to launch it when running Jelly Bean only:

error while loading shared libraries: gnuplot: failed to map segment 
from shared object: Operation not permitted.

所以,我为什么会有这个错误,这两个可执行文件之一所做的一样吗?为什么只有在果冻豆?此外,在JB,如果我让自己的超级用户,这一切再次工作。

So, why would I have this error for one of these two executables made the same way? Why only in Jelly Bean? Also, on JB, if I make myself the super user, it all works again.

这是如何调试有什么想法?我已确认所有文件在那里,有我预期他们拥有的权限。

Any thoughts on how to debug? I have confirmed that all files are there and have the permissions that I intended they have.

请帮忙。如果你这样做,你会帮助一个免费,开源,教育和有用的应用程序。

Please help. You would be helping a free, open source, educational and useful app if you do.

推荐答案

这个问题是与可执行文件是如何被编译。他们需要与适当的支持新设备的手臂交叉编译器来编译。编译器我用生成的可执行文件,将只对ARM器件的子集。这个问题是不是与不同版本的Andr​​oid。

The issue was with how the executables were compiled. They needed to be compiled with a cross compiler that properly supported newer arm devices. The compiler I used generated executables that would only work on a subset of arm devices. The issue was not with the different versions of android.

这篇关于与Android应用程序的问题包括可执行使用果冻豆时,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆