2010-11-19 7 views
0

AndroidでWine-ish互換レイヤーのアイデアを熟考しています。 両方のOSがARMハードウェアを共有するため、Symbianアプリケーションを実行することが考えられます。Android用のワイン

私はSymbianについて知りませんが、Androidデバイスのハードウェア機能があれば、これはWineのウィンドウエミュレーションより少ない労力で行うことができると思います。

このエミュレータでは、最も大きな相違点は何ですか? (スレッド、ストレージなど)

+3

ワインはWindowsをエミュレートしません。実際にはWine Is Not a Emulatorの略です。 –

+0

@通気孔:正解! –

答えて

1

本当の問題は、コード実行するつもりはないが、APIのやってグラフィックスのようなもの、ハードウェアとのやりとり、入力の受け入れなどがあります。オリジナルのアンドロイドのドキュメントがあれば、APIトランスレーションレイヤーも可能です。

しかし、アンドロイドのセキュリティモデルは、他の電話機プラットフォームで可能な多くのことを防ぐことができ、「java apis only」と組み合わせることで、他の人に効率的に行うことができる非効率な手段が可能になります。

これはもちろん、アプリケーションレベルのエミュレーション/ APIの翻訳についてです。 Androidプラットフォーム自体を変更したい場合は、デバイスのハードウェア機能内にドキュメント(およびライセンス供与)を持っている他のものをサポートする必要があります。

1

デバイスのハードウェア機能は、ホストするエミュレータの複雑さとは関係ありません。 Symbianの設計と複雑さによって異なります。

さらに、ライセンス供与。 Android用のSymbianエミュレータを作ることができたとしても、その合法性には疑問があります。

あなたの質問に詳しく答えるのは難しいですが、Symbianはオープンソースなので(Androidでも)、時間があれば分かりにくいものではありません。

+0

ハードウェアは適応コードの速度とは少し関係があります。互換性レイヤーが1:1の適応を行うのに十分なほど薄くない場合、グルーコードはCPU帯域幅の一部を食べ​​る可能性があります。 私が言ったように、私はSymbianとその内部について何も知らないので、私はこの質問をしました。任意のポインタが評価されるだろう。 –

+0

@Daniel:あなたの声明は、「これはWineのWindowsエミュレーションよりも少ない労力で行うことができるAndroidデバイスのハードウェア機能を備えている」という記述は成立しません。あなたは50GhzのPCを持つことができますが、それでもPlaystation 3エミュレータを作るのは簡単ではありません。 – darioo

+0

CellBEとx86は、ARM v7(Androidの金魚)とARM v7(OMAP/...)と同じではありません。あなたはまだここに有効なポイントがあります。この考え方は、SymbianとAndroidの間に1:1のマッピングを持たないコードが書かれなければならないということです。このコードはできるだけ早く動作するはずですから、高速なハードウェアが必要です。 –

1

QTは、最新のSymbian OSのために使用されている、とAndroidに移植されている、あなたはQTでアプリケーションを書くことができ、各プラットフォーム用にビルド

+0

S^3の場合、これが行く方法です。 S60以前のモデルから古いアプリを実行する場合はどうすればよいですか? QTはありませんでした...私が念頭に置いている例の一つは、Garmin MobileXTです。WinMoとSymbianのサポートを中止した優れたアプリケーションです。それは新しい携帯電話でrunitすることができることは素晴らしいだろう。 –

+0

私はQTが最新のSymbian OSで使用されていると言っているように、それは本当です:) – hhafez

1

エミュラティルを書く上での問題は様々です。

SymbianアプリケーションがBasicやそれに類するのようなインタプリタ言語で書かれている場合、エミュレータは書くのが難しくありません。私は同じコードをLinuxやWindows上で実行させるためにこのような作業を一度行いました。ソフトウェアからUI、入出力に送られるすべての呼び出しに対して翻訳APIを使用しました。

SymbianのUI機能がAndroid機能のサブセットであると推測しているので、異なるハードウェア上でSymbianコードを実行するWINE同様のものやインタプリタを書くのは難しくありません。高級言語。

しかし、apppsにはいくつかのマシンコードがあり、プロセッサ固有のものであることに注意してください。現在のAndroidタブのほとんどは、Tegra、Tegra2、またはTegra3上で(すぐに)実行されます。StrongArmやArmで動作するものもあれば、x86アーキテクチャでIntel Atom(x86アーキテクチャ)で動作するものもあります。 ARM/ATOMのようなバイナリ互換性があります。次に、CPUをエミュレートする必要があります。そうすれば、そのような処理をスムーズに実行するには、4〜5倍の強力なマシンが必要なほどのパフォーマンスが得られる可能性があります。

Linuxに似たバイナリを実行するためにAndroidをクラッキングすることはあまり難しいことではありませんが、この「mod」は通常のアプリストアからの使用やダウンロードに影響します。

いくつかのアプリでは、さらに頭痛、e.G.があるかもしれません。韓国のMP3プレーヤーはStrongarmで動作しますが、さまざまなソースからFlashゲームを実行します。 Flash Playerがなく、GoogleがAdobe Flashのサポートを中止するなどのアナウンスをしても、それは使用できません。

Ovi Mapsは明らかにOvi Mapsなので、オフラインナビゲーション機能を備えた別のアプリに簡単に変換できます:-) Google Earthのオープンソースビューアである「Gaia」は数年前に書かれました後であきらめなければならない)、少なくともこれを実現するのは難しくない。

関連する問題