ページへ戻る

− Links

 印刷 

Android​/Google Play Servicesなどのaarファイルをダウンロードする のバックアップソース(No.3) :: NJF Wiki

xpwiki:Android/Google Play Servicesなどのaarファイルをダウンロードする のバックアップソース(No.3)

« Prev[5]  Next »[6]
Android Studioで、以前はSDKマネージャーで「Google Repository」をチェックしておけば自動で使っているライブラリのaarファイルなどがダウンロードされていました。しかしAndoid Studioのアップデートによりリポジトリのダウンロードがされなくなりました。

Android Studioを使って開発している人は、Gradleファイルなどをちゃんと設定しておけば勝手に依存関係を解決してくれるのでなんの問題もありません。しかし、それ以外のツールで開発している場合は必要なライブラリのaarファイルをダウンロードしなければならないときがあります。

そのダウンロード方法をご紹介します。

まず、ダウンロードしたライブラリのバージョンを調べます。

グーグルのサイトにビルドツールMaven用のバージョンが一覧になっているxmlファイルがあるので、それを使うと便利です。

「https://dl.google.com/dl/android/maven2/「ライブラリのパッケージ名の.を/に変えたもの」/group-index.xml」

にアクセスすると、利用可能なバージョンが一覧となっています。
「ライブラリのパッケージ名の.を/に変えたもの」の部分は、例えばGoogle Play Servicesならパッケージ名が「com.google.android.gms」なので「com/google/android/gms」となります。

よってGoogle Play Servicesでは次のxmlファイルにバージョンが一覧となっています。

 https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml

ここでダウンロードしたいライブラリのバージョンを選びます。

次に実際のarrファイルの場所は

https://dl.google.com/dl/android/maven2/「ライブラリのパッケージ名の.を/に変えたもの」/「ライブラリ名」/「バージョン」/「ライブラリ名」-「バージョン」.aar

となります。

例えば、ライブラリ「play-services-basement」のバージョン「16.2.0」なら、次のurlからダウンロードできます。

 https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.2.0/play-services-basement-16.2.0.aar

手でurlを書き直してダウンロードするのは少し面倒なので、よく使うライブラリならスクレイピングツールを作っておくと便利です。

例えば「play-services-ads-lite,play-services-ads,play-services-base,play-services-basement,play-services-tasks,support-v4」の最新バージョンのurlを表示し、ダウンロードして実行したディレクトリに保存するPython3のスクリプトは以下のようになります。

 from bs4 import BeautifulSoup

 import requests

 version_url = "https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml"


 html = requests.get(version_url)

 bf = BeautifulSoup(html.text,"lxml")


 libs = ["play-services-ads-lite","play-services-ads","play-services-base","play-services-basement","play-services-tasks"]


 for l in libs:
     vs = bf.find(l)["versions"].split(",")
     lv = vs[len(vs)-1]
     durl="https://dl.google.com/dl/android/maven2/com/google/android/gms/%s/%s/%s-%s.aar" % (l,lv,l,lv)
     print(durl)
     arr_file = requests.get(durl)
     with open(l+".aar", 'wb') as save_file:
         save_file.write(arr_file.content)



 version_url = "https://dl.google.com/dl/android/maven2/com/android/support/group-index.xml"
 html = requests.get(version_url)

 bf = BeautifulSoup(html.text,"lxml")
 vs = bf.find("support-v4")["versions"].split(",")
 lv = vs[len(vs)-1]
 durl="https://dl.google.com/dl/android/maven2/com/android/support/support-v4/%s/support-v4-%s.aar" % (lv,lv)
 print(durl)
 arr_file = requests.get(durl)
 with open("support-v4.aar", 'wb') as save_file:
     save_file.write(arr_file.content)

ただし、単純に最新バージョンをダウンロードすると、依存関係などで動かない可能性があるので、バージョンは自分で指定した方が良いかも知れません。

こちらの記事は以下のサイトを参考にしました。

[[Google Play Services aar download for above 11.0.4:https://stackoverflow.com/questions/47672929/google-play-services-aar-download-for-above-11-0-4]]


« Prev[5]  Next »[6]