[解決済み] Android Archive Library (aar)と標準的なjarの比較
質問
Androidアプリの標準ビルドシステムとしてGradleが新たに採用されるという記事をいくつか読みました。標準的なJavaの開発から来た私は、通常、Gradleに依存しています。 ジャー ファイルを使ってプロジェクトをビルドします。しかし、Androidには 耳 パッケージと同等である。 dll のように、Windows OSのファイル こちら :
まず、Androidプラットフォームでは、アプリケーションレベルの「共有ライブラリ」が認められていないことを認識する必要があります。伝統的な」プログラミング言語プラットフォーム、C、C++、Javaなどでは、ランタイム・ライブラリを共有する仕組みがあります。(例:WindowsのDLL、UnixのDSO、JVMのJarなど). ところが、Androidでは、Googleか端末メーカーでない限り、それができません(下記脚注1参照)。アプリケーション開発者としては、これは根本的な制約になりえます。ビルド時と実行時の両方でコードを「共有」または「再利用」することは、ソフトウェア工学の実践において非常に重要な部分です。Androidでは、前述の制限のため、これはかなり困難です(不可能ではありませんが、より困難なだけです)。
しかし、このコンセプトには疑問があります。つまり、開発者はどのような場合に 耳 を使用することができるのでしょうか?この依存関係は、あるSDKの最小バージョンに厳格化されているのでしょうか?
例えば、あるプロジェクトではCOMポートにアクセスするのですが、そのCOMポートには NDKプリコンパイル .so のライブラリを使用します。このユーティリティを共有したい場合、aarを作成しなければならないのでしょうか?
解決方法は?
AAR
ファイルは、より
Jar
よりも
Dll
は、次のような理由からです。
Dll
は、アプリケーション間で共有することができ、一方AAR
とjarは は、アプリと一緒にパッケージ化されます。
AAR
対
Jar
s:
との主な違いは、以下の通りです。
Jar
とAAR
は、そのAAR
を含む。 などのリソースがあります。layouts, drawables
などがあります。これによって は、自己完結型のビジュアルコンポーネントを作成することができます。例えば 同じログイン画面を使用する複数のアプリでJar
を使用することができます。 クラスは共有できても、レイアウトやスタイルなどは共有できず、やはり を複製しています。とはAAR
は、すべてが1つのきちんとしたパッケージにバンドルされています。
結論から言うと
AAR
は大きな一歩です。
注
同様の試みは
apk-lib
のように、現在では廃れています。
AAR
の方がはるかに優れています。
関連
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
java 例外。Javaツールの初期化
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
エラー java.util.NoSuchElementException
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
final, finally, finalizeの違いについて話してください。
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
node js npm gruntインストール、elasticsearch-head 5.Xインストール
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
JSPで「リストが型解決できない!」の解決方法
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み] Android Studioでaarファイルを作成する