2014-12-12 4 views
3

나는 많은 다른 방법을 시도했다. NDK로 컴파일을 완료했고 adp 쉘을 사용하여 에뮬레이터에서 실행할 때 출력이 없습니다. 그럼 그냥 다음 설치 할 수 있도록x86 용 모노를 크로스 컴파일하는 방법 android

./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 

: 여기

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 

내 구성입니다 : 타르에서

모노 3.10.0 여기

내 환경 변수

그럼 그냥 C# 샘플 빌드 : // HelloAndroid.cs // 출력 HelloAndroid.exe using System;

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

는 내가 755 변화에 시스템에 대한 모든 소유권을 모노 sgen HelloAndroid.exe libmonosgen-2.0.so

/data/data/com.example.helloandroid 

변화의 안드로이드 디렉토리에 모든 권한을 복사 : 시스템

다음에

을 입력하십시오./모노 sgen ADP에 쉘

나는 그냥 아무것도 얻을에

HelloAndroid.exe

합니다. 오류가없고 출력이없고 명령 줄 만 반환됩니다.

답변

0

일반 호스트처럼 .NET 어셈블리 (.NET.dll ...)를 컴파일하고 Android에 넣어야합니다.

또한 모노 런 타임에 MONO_PATH을 정의하십시오.

관련 문제