2012-07-24 124 views
0

我有一個.NET應用程序和一些相關的第三方DLL,我想在Android手機上運行。 .NET應用程序是用C#編寫的,並且這些DLL是完全管理的,雖然它們包含一些unsafe代碼,並使用託管C++與DirectX一起使用。考慮到我只有一部分應用程序源代碼,是否可以將應用程序重定向到Mono,並在Android OS上運行它?在Android手機上運行.NET應用程序和DLL?

+0

我認爲你會需要Mono for Android。 – 2012-07-24 10:58:55

+0

大概你是通過MonoDevelop使用Mono for Android?我的理解是,在很多*託管*的情況下,只要圖書館不使用任何不可用的東西,這應該基本上只是工作*不過! DirectX代碼幾乎可以肯定**不會在所有工作**(但隨時可以嘗試) – 2012-07-24 10:59:11

+0

我目前正在使用C#for Windows使用VS 2010.我剛剛閱讀了Mono在線,並認爲它可以提供幫助。 – 2012-07-24 11:01:57

回答

1

不安全可能是以特定於操作系統的方式進行比特扭曲。我會使用反射器來轉儲代碼並調查它正在做什麼,然後看看單聲道做了什麼。

因爲它使用的是DirectX,所以我懷疑你可能最終會陷入死衚衕。

我看過Mono LibrariesAxiom 3D可能是一個有用的抽象,如果您需要重新設計DirectX調用。

+0

我已經使用反射器分析了第三方DLL,它們包含一些與DirectX一起使用的代碼並使用了大量的指針等。代碼可能是一個.NET DLL中的C++,但我不明白這是如何工作的。 – 2012-07-24 10:59:28

+0

@Geotarget Android上不支持DirectX的東西。 – 2012-07-24 11:00:05

2

這要麼不可能,要麼非常接近赫拉克勒斯的任務。

考慮將現有代碼移植到Android並重寫缺失的位。

+0

我對此投票只是希臘語版本的使用。 – 2012-07-24 11:03:14

+0

通過Android,你的意思是Java?這個* bulk *完全不需要任何「移植」,這要感謝Mono for Android。 – 2012-07-24 11:18:10

+0

你是對的Mono for Android。我的意思是將C#移植到Java。如果需要重寫的代碼部分很大,則完全刪除.NET並重寫整個事情可能會更安全。在從純.NET遷移到Mono時,必然會遇到一些不一致之處。無論如何,一些移植將是必要的。 – kgiannakakis 2012-07-24 12:03:40

相關問題