我试过很多不同的方法。我用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/