如何交叉编译 x86 安卓的单声道



我尝试了许多不同的方法。 我用 NDK 完成了编译,当我在使用 adp shell 的模拟器上运行它时,我没有得到任何输出。

来自压缩包的单声道-3.10.0

以下是我的环境变量:

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# 示例,仅包含以下内容: 你好安卓.cs 输出你好安卓.exe 使用系统;

namespace HelloAndroid
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Console.WriteLine ("Hello World!");
        }
    }
}

然后我复制单晶libmonosgen-2.0.so你好安卓.exe到安卓目录

/data/data/com.example.helloandroid

将所有权限更改为 755将所有所有权更改为系统:系统

然后键入

./mono-sgen 你好安卓.exe

在 ADP 外壳中

那我什么也得不到。没有错误,没有输出,只有命令行返回

您需要像编译常规主机一样编译.NET Assemblies(System.dll...(,并将它们放入Android中。

此外,还定义MONO_PATH到单声道运行时。

最新更新