253

Google の Android OS を搭載した G1 が (まもなく) 利用可能になったので、Android プラットフォームは .Net をサポートするようになりますか?

4

13 に答える 13

325

更新: 2 年前にこの回答を書いて以来、Android で実行する Mono を製品化しました。この作業には、Mono を Android に移植し、Visual Studio と統合し、Mac と Windows で MonoDevelop 用のプラグインを構築し、Java Android API を .NET 言語に公開するといういくつかの手順が含まれていました。これは現在、http://monodroid.netで入手できます。

Android 上の Mono は Mono 2.10 ランタイムに基づいており、C# 4.0 コンパイラを使用してデフォルトで 4.0 プロファイルになり、Mono の新しい SGen ガベージ コレクション エンジンと、Java と Mono で GC を実行する新しい分散ガベージ コレクション システムを使用します。


以下のリンクは、2009 年 1 月現在の Android 上の Mono を反映しています。歴史的な文脈のために保持しています。

Koushik Dutta と Marc Crichton のおかげで、Mono が Android で動作するようになりました。

ここで実行中のビデオを見ることができます: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

また、Mono を自分でビルドする手順については、http ://www.koushikdutta.com/2009/01/building-mono-for-android.html を参照してください。

ここで、Mono の JIT と Dalvik のインタープリターを比較するベンチマークを取得できます: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html

そしてもちろん、Mono で事前に構成されたイメージをここで取得できます (使用方法の詳細については、投稿の下部に移動してください): http://www.koushikdutta.com/2009/01/building-mono-for- android.html

于 2009-01-07T19:09:50.680 に答える
78

はい、それは可能であり、それほど難しいことではありません。この時点で最初に必要なのは、MSIL をDalvik bytecodeに変換するある種のコンバーターだけです。どちらの形式もオープンソースであり、十分に文書化されているため、問題はありません.

したがって、C# または VB.NET で Android アプリケーションを作成することが可能になります。問題は、.NET フレームワークの標準ライブラリがどれだけサポートされるかです。しかし、それは別の問題です。

オスカー・レイエスは次のように書いています。

Google が .net に少しでも興味を持った場合、彼らは Android が最初の段階にある間に何かを設計しただろうと確信しています。私が言っているのは、彼らが興味を持っていないということです。たぶん、うーんhhhh 10年です。

実際、彼らがすでに設計したものは、Java および .NET と非常に互換性があります。

一度に全部できるわけではありませんが、Android SDK を調べてみるとdxというツールがあります。このツールは Java バイトコードを Dalvik バイトコードに変換するため、Java で記述されたプログラムを Android 上で簡単に実行できます。現在、.NET にも同じツールが必要です。

.NET と Java がどれほど似ているかを考えると、それは時間の問題です。

ディミトロフは次のように書いています。

.Net->Java->Dalvik の変換は現在でも実行できますが ( http://dev.mainsoft.com/ )、.Net ライブラリの欠如を過小評価していると思います。もちろん、誰かが Mono を移植することはできますが、それは間違いなく重要な作業です。

Mono を移植する必要はありません。Android にはすでに VM といくつかの基本的な API があります。必要なのは、CIL->Dalvik コンバーターと、Android API 用の小さな .NET ラッパー (および、いくつかの標準 .NET クラスの基本的な実装) だけです。それでおしまい。

更新: .NET は既に Android で動作します。上記のように、 Monodroid ( http://monodroid.net )という製品が必要です。

于 2008-10-18T05:26:52.220 に答える
23

Miguel de Icaza は、2010 年 2 月 17 日のブログで、MonoDroid と呼ばれる Android 用の mono の作業を開始すると発表しました。

これは、iPhone の MonoTouch に似ていますが、代わりに Android 用です。

Android UI へのバインドを提供するため、アプリはライブのネイティブ Android アプリのルック アンド フィールになります。これには、Android 固有の UI を作成する必要があります。

ただし、再コンパイルする必要なく、既存の下位レベルのライブラリを再利用できます。

于 2010-03-04T04:16:30.617 に答える
9

これは、Androidと.netのサポートを検索する際のGoogleでの最初のリンクの1つであるため、ここに投稿するのが適切です。

monoプロジェクトは、C#などのCIL言語を使用してAndroidアプリケーションを開発するためのSDKに取り組んでいます。欠点は、それが商品になるということです。モノドロイド

于 2010-05-24T14:39:57.883 に答える
9

Android 用に移植された .NET フレームワークである Mono for Android があります。また、C# とコア .NET API を使用して Android ベースのアプリケーションを開発するための開発スタックである MonoDroid もあります。MonoDroid Preview 1 が数日前にリリースされました。

于 2010-08-20T08:58:26.837 に答える
7

MonoDroid はプレビュー用に利用できます。それがギャップを埋めると思います。ただし、MonoDroid は開発コストのかかるオプションになる可能性があります。他の開発ツールの価格は 199 ドルから 4000 ドルの間です (MonoTouch .. iPhone 開発ツールの価格は 399 ドルから 3999 ドルです)。これらのツールを使ってアプリを開発する場合、利益を得るには非常に強力なビジネス モデルが必要です。

于 2011-01-08T11:28:42.350 に答える
6

これを確認してくださいxmlvmこれは可能だと思います。このビデオもチェックできるかもしれません

于 2008-10-18T13:35:24.573 に答える
4

.NETとMonoは優れた環境であり、多くのツールと、それらの使用方法を知っている人々の優れたスキルベースがあります。

Monoは、iPhone上のObjective-Cの唯一の代替手段であり、Androidに移植できるはずであり、.NETはすでにWindows Mobileに搭載されているため、モバイルクロスプラットフォーム開発環境として選択できる機会があると思います。

私は、Monotouchと同様にAndroid APIのラッパーを使用して、AndroidでMonoが確実に実装されることを本当に望んでいます。私は自分でそれを行う立場にないので、それを支払う準備ができています。

于 2010-01-24T12:49:59.877 に答える
4

.NET CompactFrameworkがSymbianOS(http://www.redfivelabs.com/)に移植されました。「クローズド」プラットフォームとしての.NETをこのプラットフォームに移植できる場合、Androidで移植できない理由はわかりません。

于 2008-11-17T11:14:49.523 に答える
4

Monoの変更されたポートも完全に可能です。

于 2008-10-18T06:09:17.330 に答える
3

私の意見では、CLI バイトコードを Dalvik に変換し、コレクションやファイル アクセスなどのいくつかのコア機能のラッパー クラスを作成することは、たとえ困難な作業であっても技術的に可能です。

しかし、Android 上で実行される .NET デスクトップ アプリケーションは、従来の Windows ライクな GUI を備えているため、タッチ デバイスではあまり使い物にならないため、違和感を覚えます。一方、Android のような GUI を .NET でコーディングする場合は、別のラッパーのセットが必要になります (ラッピングは、上記のラッパーとは逆であることに注意してください)。

.NET モバイル アプリケーションが Android でネイティブに感じられるかどうかはわかりませんが、そうではないと思います。

別のアプローチに興味があるかもしれません: Java 言語でアプリケーションを作成できます。次に、Microsoft J# 経由で .NET にコンパイルし (廃止されたことは知っていますが、ダウンロードして使用することはできます)、Android で同じ Java コードを使用できます。繰り返しますが、これはコア クラス、別名ビジネス ロジックのためのものであり、ここでも 2 つの GUI を作成する必要があります。J2ME にもタグを付けることができるかもしれませんが、.NET を使用している場合はできません。

于 2009-01-03T19:41:49.667 に答える
3

Android での Silverlight の実装が見られる可能性が高くなります。Microsoft の担当者は、問題があると担当者が言った iPhone に対して、それが可能であることを確認しました。

しかし、.Net フレームワークのバージョンは可能です。誰かがそれを気にする必要があるだけです:)

しかし、実際には、C# から Java への移行はそれほど大したことではなく、2 つのプラットフォーム (PC と G1) の大きな違いを考えると、1 つのコードベースですべてのアプリを処理できる可能性は低いと思われます。あなたは両方で実行したかった。

于 2008-12-16T22:51:41.417 に答える
2

.NET for Androidは、私には本当の可能性のように思えます。MicrosoftがAndroid用の適切なSilverlightをリリースするというニュースがあります-Appleにブートを置くことのMicrosoftの利点を過小評価しないでください。より高速で、機能が豊富で、開発ライフサイクルが高速で、印象的なハードウェア、FlashとSilverlightが標準でインストール可能なスマートフォン。

MicrosoftはAndroidの改善に強い関心を持っており、同時に、Android上のSilverlight用にアプリケーションが開発され、マルチタッチやGPSなどを備えたWindows Phone7OSでも動作します。

于 2010-08-18T21:27:09.120 に答える