Ad
1: 2019-04-25 (木) 20:40:46 njf ソース バックアップ No.1 を復元して編集 現: 2019-05-14 (火) 07:50:39 njf ソース 編集
Line 1: Line 1:
-Andoid Studioのアップデートにより、それまではSDKマネージャーで「Google Repository」をチェックしておけば自動で使っているライブラリのarrファイルなどがダウンロードされていたのが、されなくなりました。+Android Studioで、以前はSDKマネージャーで「Google Repository」をチェックしておけば自動で使っているライブラリのaarファイルなどがダウンロードされていました。しかしAndoid Studioのアップデートによりリポジトリのダウンロードがされなくなりました。
-Android Studioを使って開発している人はなんの問題もありませんが、それ以外のツールで開発している場合は必要なライブラリのarrファイルが必要になることがあり、他の方法でダウンロードしなければなりません。+Android Studioを使って開発している人は、Gradleファイルなどをちゃんと設定しておけば勝手に依存関係を解決してくれるのでなんの問題もありません。しかし、それ以外のツールで開発している場合は必要なライブラリのaarファイルをダウンロードしなければならないときがあります。
-その方法をご紹介します。+そのダウンロード方法をご紹介します。
まず、ダウンロードしたライブラリのバージョンを調べます。 まず、ダウンロードしたライブラリのバージョンを調べます。
Line 9: Line 9:
グーグルのサイトにビルドツールMaven用のバージョンが一覧になっているxmlファイルがあるので、それを使うと便利です。 グーグルのサイトにビルドツールMaven用のバージョンが一覧になっているxmlファイルがあるので、それを使うと便利です。
-「https://dl.google.com/dl/android/maven2/「ライブラリのパッケージ名の.を/に変えたもの」/group-index.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/master-index.xml 
 + 
 +「ライブラリのグループパス」の部分は、 
 + 
 + https://dl.google.com/dl/android/maven2/master-index.xml 
 + 
 +に一覧がありますが、基本的にはパッケージ名の「.」を「/」にしたものです。 
 + 
 +例えばGoogle Play Servicesならパッケージ名が「com.google.a 
 + 
 +ndroid.gms」なので「com/google/android/gms」となります。 
 + 
 +よってGoogle Play Servicesでは次のxmlファイルにバージョンが一覧となっています。
 https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml  https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml
Line 20: Line 31:
ここでダウンロードしたいライブラリのバージョンを選びます。 ここでダウンロードしたいライブラリのバージョンを選びます。
-実際のarrファイルの場所は+次に実際のarrファイルの場所は
-https://dl.google.com/dl/android/maven2/「ライブラリのパッケージ名の.を/に変えたもの」/「ライブラリ名」/「バージョン」/「ライブラリ名」-「バージョン」.aar+ https://dl.google.com/dl/android/maven2/「ライブラリのグループパス」/「ライブラリ名」/「バージョン」/「ライブラリ名」-「バージョン」.aar
となります。 となります。
Line 30: Line 41:
 https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-basement/16.2.0/play-services-basement-16.2.0.aar  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」の最新バージョンをダウンロードして実行したディレクトリに保存するPython3のスクリプトは以下のようになります。+例えば「play-services-ads-lite,play-services-ads,play-services-base,play-services-basement,play-services-tasks,support-v4」の最新バージョンのurlを表示し、ダウンロードして実行したディレクトリに保存するPython3のスクリプトは以下のようになります。
 from bs4 import BeautifulSoup  from bs4 import BeautifulSoup
 + 
 import requests  import requests
 + 
 version_url = "https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml"  version_url = "https://dl.google.com/dl/android/maven2/com/google/android/gms/group-index.xml"
- +  
 + 
 html = requests.get(version_url)  html = requests.get(version_url)
 + 
 bf = BeautifulSoup(html.text,"lxml")  bf = BeautifulSoup(html.text,"lxml")
- +  
 + 
 libs = ["play-services-ads-lite","play-services-ads","play-services-base","play-services-basement","play-services-tasks"]  libs = ["play-services-ads-lite","play-services-ads","play-services-base","play-services-basement","play-services-tasks"]
- +  
 + 
 for l in libs:  for l in libs:
     vs = bf.find(l)["versions"].split(",")      vs = bf.find(l)["versions"].split(",")
Line 55: Line 66:
     print(durl)      print(durl)
     arr_file = requests.get(durl)      arr_file = requests.get(durl)
-     with open(l+".arr", 'wb') as save_file:+     with open(l+".aar", 'wb') as save_file:
         save_file.write(arr_file.content)          save_file.write(arr_file.content)
- +  
- +  
 + 
 version_url = "https://dl.google.com/dl/android/maven2/com/android/support/group-index.xml"  version_url = "https://dl.google.com/dl/android/maven2/com/android/support/group-index.xml"
 html = requests.get(version_url)  html = requests.get(version_url)
 + 
 bf = BeautifulSoup(html.text,"lxml")  bf = BeautifulSoup(html.text,"lxml")
 vs = bf.find("support-v4")["versions"].split(",")  vs = bf.find("support-v4")["versions"].split(",")
Line 69: Line 80:
 print(durl)  print(durl)
 arr_file = requests.get(durl)  arr_file = requests.get(durl)
- with open("support-v4.arr", 'wb') as save_file:+ with open("support-v4.aar", 'wb') as save_file:
     save_file.write(arr_file.content)      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]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2099, today: 1, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF