ページへ戻る
印刷
AndroidのANEを作成するためにライブラリの依存関係を調べてaarを利用する
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:AndroidのANEを作成するためにライブラリの依存関係を調べてaarを利用する をテンプレートにして作成
開始行:
*はじめに
Androidアプリの開発がAndroid Studioのみで公式サポートされ...
Android Studioで開発する場合はソフト側で依存関係の解決し...
そこで依存関係を調べてダウンロードし、展開して名前を変更...
ツール自体は汎用性がなく公開するに耐えるような物ではない...
自分でツールを作るのが最善の方法か分かりませんし、例えばA...
*ライブラリの依存関係を調べる
ライブラリの依存関係はAndroid Studioの機能でもできるので...
Android StudioはApache Mavenというプロジェクト管理ツール...
例えばGoogleのライブラリについては、
「http://maven.google.com/「グループパス」/「ライブラリ名...
にアクセスすればpomファイルが取得できます。
つまり「play-services-ads」のバージョン「17.2.0」なら、
http://maven.google.com/com/google/android/gms/play-serv...
となります。google以外が提供しているライブラリも、Mavenを...
pomファイルの内容は例えば
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins...
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-ads</artifactId>
<version>17.2.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>customtabs</artifactId>
<version>26.1.0</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-ads-base</artifactId>
<version>[17.2.0]</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
以下略
といったものになっており、「dependencies」の部分に依存関...
記載されている依存関係は直接の子だけです。孫の依存関係は...
pomファイルの詳しい仕様は[[https://maven.apache.org/pom.h...
**packaging
そのライブラリがどのようなファイル形式で配布されているか...
**version
dependencyのversionに時々ついている[](角括弧)は正確にそ...
**exclude
dependencyの中に「exclude」というタグがあり、ライブラリ名...
*ダウンロードするURL
依存関係が分かれば次はそれをダウンロードします。そのURLは...
https://dl.google.com/dl/android/maven2/「ライブラリのグ...
です。ここで「拡張子」はpomファイルのpackagingで指定され...
このあたりをおさえておけば、pomファイルから依存関係を割り...
*aarファイルをANEに取り込む時の注意点
**テスト用のライブラリ
junitやmockitoなどはテスト用のライブラリなので、ANEに含め...
**aarの概要
ライブラリをダウンロードしたら、それをzip解凍して必要なフ...
Androidで使うaarファイルの構成物の仕様は以下のページにま...
https://developer.android.com/studio/projects/android-lib...
多くのライブラリでは
AndroidManifest.xml
classes.jar
/res/
をANEやAirアプリに取り込む必要があります。また、
/assets/
も必要となることがあります。他の「/libs/name.jar」や「/jn...
**AndroidManifest.xml
AndroidManifest.xmlの「manifest」の「package」属性にパッ...
<manifest xmlns:android="http://schemas.android.com/apk/...
xmlns:tools="http://schemas.android.com/tools"
package="com.google.android.gms.ads.impl" >
<uses-sdk
android:minSdkVersion="14"
tools:overrideLibrary="android.support.customtabs...
</manifest>
となっているので、パッケージ名は「com.google.android.gms....
また、このAndroidManifest.xmlの内容は最終的なapkのAndroid...
実際にどのような項目が必要でどう統合されるかを確かめるな...
[[https://qiita.com/red12sparrow11/items/59962c8b06586094...
**classes.jar
classes.jarはplatform.xmlのpackagedDependencyに記載するも...
**/res/
/res/はANEの作成ではplatform.xmlのpackagedResourceのfolde...
**/assets/
定数や画像などのAndroidのリソースは多言語化、多解像度対応...
例えば取り込むaarファイルを展開した/assets/以下に「test.p...
&ref(ane_assets.png,mw:480,mh:360);
ライブラリアップデートでANEを作り替えるときは、Airの方で...
*まとめ
pomファイルを使って依存性を見る方法は仕様がはっきりしてい...
とはいえ、仕様の確認、ツールの作成、テストで数日かかって...
終了行:
*はじめに
Androidアプリの開発がAndroid Studioのみで公式サポートされ...
Android Studioで開発する場合はソフト側で依存関係の解決し...
そこで依存関係を調べてダウンロードし、展開して名前を変更...
ツール自体は汎用性がなく公開するに耐えるような物ではない...
自分でツールを作るのが最善の方法か分かりませんし、例えばA...
*ライブラリの依存関係を調べる
ライブラリの依存関係はAndroid Studioの機能でもできるので...
Android StudioはApache Mavenというプロジェクト管理ツール...
例えばGoogleのライブラリについては、
「http://maven.google.com/「グループパス」/「ライブラリ名...
にアクセスすればpomファイルが取得できます。
つまり「play-services-ads」のバージョン「17.2.0」なら、
http://maven.google.com/com/google/android/gms/play-serv...
となります。google以外が提供しているライブラリも、Mavenを...
pomファイルの内容は例えば
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins...
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-ads</artifactId>
<version>17.2.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>customtabs</artifactId>
<version>26.1.0</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
<dependency>
<groupId>com.google.android.gms</groupId>
<artifactId>play-services-ads-base</artifactId>
<version>[17.2.0]</version>
<scope>compile</scope>
<type>aar</type>
</dependency>
以下略
といったものになっており、「dependencies」の部分に依存関...
記載されている依存関係は直接の子だけです。孫の依存関係は...
pomファイルの詳しい仕様は[[https://maven.apache.org/pom.h...
**packaging
そのライブラリがどのようなファイル形式で配布されているか...
**version
dependencyのversionに時々ついている[](角括弧)は正確にそ...
**exclude
dependencyの中に「exclude」というタグがあり、ライブラリ名...
*ダウンロードするURL
依存関係が分かれば次はそれをダウンロードします。そのURLは...
https://dl.google.com/dl/android/maven2/「ライブラリのグ...
です。ここで「拡張子」はpomファイルのpackagingで指定され...
このあたりをおさえておけば、pomファイルから依存関係を割り...
*aarファイルをANEに取り込む時の注意点
**テスト用のライブラリ
junitやmockitoなどはテスト用のライブラリなので、ANEに含め...
**aarの概要
ライブラリをダウンロードしたら、それをzip解凍して必要なフ...
Androidで使うaarファイルの構成物の仕様は以下のページにま...
https://developer.android.com/studio/projects/android-lib...
多くのライブラリでは
AndroidManifest.xml
classes.jar
/res/
をANEやAirアプリに取り込む必要があります。また、
/assets/
も必要となることがあります。他の「/libs/name.jar」や「/jn...
**AndroidManifest.xml
AndroidManifest.xmlの「manifest」の「package」属性にパッ...
<manifest xmlns:android="http://schemas.android.com/apk/...
xmlns:tools="http://schemas.android.com/tools"
package="com.google.android.gms.ads.impl" >
<uses-sdk
android:minSdkVersion="14"
tools:overrideLibrary="android.support.customtabs...
</manifest>
となっているので、パッケージ名は「com.google.android.gms....
また、このAndroidManifest.xmlの内容は最終的なapkのAndroid...
実際にどのような項目が必要でどう統合されるかを確かめるな...
[[https://qiita.com/red12sparrow11/items/59962c8b06586094...
**classes.jar
classes.jarはplatform.xmlのpackagedDependencyに記載するも...
**/res/
/res/はANEの作成ではplatform.xmlのpackagedResourceのfolde...
**/assets/
定数や画像などのAndroidのリソースは多言語化、多解像度対応...
例えば取り込むaarファイルを展開した/assets/以下に「test.p...
&ref(ane_assets.png,mw:480,mh:360);
ライブラリアップデートでANEを作り替えるときは、Airの方で...
*まとめ
pomファイルを使って依存性を見る方法は仕様がはっきりしてい...
とはいえ、仕様の確認、ツールの作成、テストで数日かかって...
ページ名: