13

私は現在、AS3 の Adob​​e Air SDK で構築された Android アプリケーションに取り組んでいます。Android ネイティブ アプリケーション (Java) にインポートできる一種の UI ライブラリをコンパイルできるかどうか疑問に思っていました。基本的に、UI は Adob​​e Air で構築したいと考えていますが、アプリケーションの主要部分はネイティブな Java で構築しています。

私が念頭に置いているのは、Adobe air で生成された APK を、ネイティブ アプリケーション プロジェクトにインポートする Jar ファイルに変換し、画面に何かを表示するいくつかの関数を呼び出すことです。

出来ますか?アプリケーションにAdobe Air SDKをインポートしない場合、アプリケーションを機能させるにはPlayストアでAdobe Airアプリケーションをインストールする必要があるため、可能かもしれないと思います。それについてGoogleで多くのことを見つけることはできません:s。

ご協力ありがとうございました。

4

4 に答える 4

2

はい、(理論的には) 可能ですが、でこぼこ道なので帽子をかぶる必要はありません。

私はそれが非常に古い質問であり、新しい報奨金があることを知っています (質問者は 3 年間ログオンしていません!)、しかしここに行きます
... DEXであるため、adobe-airまたはANYTHINGで動作します。基本的な[一般的な方法] です)。(ネイティブという言葉を紛らわしい方法で使用しているため、ネイティブは一般的に、アプリの JNI (c++) ライブラリ要素を意味すると理解されています)。
あなたは言う:

「私が考えているのは、Adobe Air で生成された APK を Jar ファイルに変換して、ネイティブ アプリケーション プロジェクトにインポートし、画面に何かを表示する関数を呼び出すことです。」

Android プログラムは .dex (Dalvik Executable) [現在はARTと呼ばれるがバイナリ互換] ファイルにコンパイルされ、デバイス上で単一の .apk ファイルに圧縮されます (マニフェストやリソースなどの他のものと共に)。(.apk を解凍して中を見てください)。

.jar ファイルには、DEX ファイル (zip 形式) が含まれています。(コンパイルされた .jar を解凍し、内部を調べます)。

私は以前にこのような作業をいくつか行ったことがあります。ここにチュートリアルとコーディング例へのリンクがあります[私がテストしました](Android Studio + Gradleで)[通常、カスタムビルド要素が必要です(Antの例も示します)]。

私のスタックオーバーフローの回答を参照してくださいDEXファイルの動的読み込み

これは理論的にはあなたの質問に答えますが、それは基本的なものであり、複雑であり、コーディングと保守を困難にする制限があります (リソースは本当に苦痛です)。

質問: これはすべて非常に複雑で難しいようです。

はい、そうです !それは非常にばかげて難しいことです!これが、クロスプラットフォーム フレームワーク (および Web ベースのコード javascript/css/html5...) を発明した理由です。そのPORTに失敗すると、コード。

于 2016-10-07T01:00:43.823 に答える
-1

Maybe this is a dirty way to help you, but you can :

  1. Install the adobe air program in one computer
  2. Copy the files of the install folder of the adobe air program
  3. Embed all this files in the java application
  4. Install the java application
  5. Save the adobe air files in one folder
  6. Start the adobe air with java (like you will do it with the console, a simple call to YourAirApp.exe)
于 2012-09-25T15:17:38.803 に答える
-1

私はAdobeAIR開発者ではありませんが、ネイティブ環境とある種のフレームワーク(具体的にはPhoneGap)の両方を備えたAndroidアプリをいくつか開発しました。だから、これがあなたを助けることができますように。

Adobe AIR、PhoneGap、その他のHTML5ベースのフレームワークを使用して構築されたモバイルアプリをネイティブAndroidアプリに直接変換できるツールはないと思います。これは、技術的には、 HTML5のすべての要素(またはこの場合はFlex要素)を対応するネイティブコントロールまたはロジックに変換します。あなたができる最善のことは、フレームワークによって提供されるプラグインメカニズムを使用してJavaと対話することであり、その逆も同様です。基本的に、フレームワークが存在するのはそのためです。ほとんどのHTML5ベースのフレームワークには、開発者がネイティブ機能(Background Services、Activity、その他のネイティブリソースなど)と対話できるようにするプラグインメカニズムがあります。これらのフレームワークでさえ、同じモジュラーまたはプラグインベースのアプローチを使用して構築されており、主要な機能(カメラ、オーディオ、SDカードなどのネイティブリソースへのアクセス)はこのように機能します。アプリで使用する前に、その機能を有効にする必要があります。

したがって、AdobeAIRでプラグインタイプのメカニズムを探します。

お役に立てれば。

于 2012-09-03T13:57:50.697 に答える