我试过很多不同的方法。我用ndk完成了一个编译,当我用adp shell在模拟器上运行它时,我没有得到任何输出。
单声道-3.10.0来自tarball
以下是我的环境变量:

export CC=i686-linux-android-gcc
export SYSROOT=/home/XXUSERNAMEXX/Develop/android-ndk-r10d/platform/android-17/arch-x86
export PATH=/tmp/my-android-toolchain/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

以下是我的配置:
 ./configure --disable-mcs-build --host=i686-linux-android --prefix=/home/XXUSERNAMEXX/vmshare/workspace/HelloJni/jni/mono-2.0 --target=i686-linux-android --build=i686-linux-gnu

然后只是
制作
然后
制作安装
然后建立一个C样本:
//helloandroid.cs
//输出helloandroid.exe
使用系统;
namespace HelloAndroid
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");
        }
    }
}

然后我复制
单细胞生长因子
伦敦银行同业拆借利率-2.0.so
helloandroid.exe
到android目录
/data/data/com.example.helloandroid

将所有权限更改为755
将所有所有权更改为system:system
然后键入
./mono sgen helloandroid.exe
在ADP外壳中
那我什么都得不到。
没有错误,没有输出,只有命令行返回

最佳答案

您需要像为普通主机那样编译.NET程序集(system.dll…),并将它们放入Android。
此外,定义MONO_PATH到mono运行时。

关于c# - 如何为X86 Android交叉编译Mono,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27438837/

10-17 01:59