1: 2019-04-25 (木) 20:40:46 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Andoid Studioのアップデートにより、それまではSDKマネージャーで「Google Repository」をチェックしておけば自動で使っているライブラリのarrファイルなどがダウンロードされていたのが、されなくなりました。 | ||
+ | Android Studioを使って開発している人はなんの問題もありませんが、それ以外のツールで開発している場合は必要なライブラリのarrファイルが必要になることがあり、他の方法でダウンロードしなければなりません。 | ||
+ | |||
+ | その方法をご紹介します。 | ||
+ | |||
+ | まず、ダウンロードしたライブラリのバージョンを調べます。 | ||
+ | |||
+ | グーグルのサイトにビルドツールMaven用のバージョンが一覧になっているxmlファイルがあるので、それを使うと便利です。 | ||
+ | |||
+ | 「https://dl.google.com/dl/android/maven2/「ライブラリのパッケージ名の.を/に変えたもの」/group-index.xml」 | ||
+ | |||
+ | にアクセスすると、利用可能なバージョンが一覧となっています。 | ||
+ | 「ライブラリのパッケージ名の.を/に変えたもの」の部分は、例えばGoogle Play Servicesならパッケージ名が「com.google.android.gms」なので「com/google/android/gms」となります。 | ||
+ | |||
+ | よって次の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 | ||
+ | |||
+ | 手でダウンロードするのは少し面倒なので、よく使うならスクレイピングツールを作っておくと便利です。 | ||
+ | |||
+ | 例えば「play-services-ads-lite,play-services-ads,play-services-base,play-services-basement,play-services-tasks,support-v4」の最新バージョンをダウンロードして実行したディレクトリに保存する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+".arr", '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.arr", 'wb') as save_file: | ||
+ | save_file.write(arr_file.content) |
(This host) = https://njf.jp