LoginSignup
13
13

More than 5 years have passed since last update.

Android Support Repositoryのコマンドラインからのインストール方法

Last updated at Posted at 2014-06-29

support-v4ライブラリなどを含んでいるAndroid Support Repositoryを使う場合に、とあるプロジェクトのTravis CIのビルド(コマンドラインでSDKのアップデート)が失敗するようになりました。

解決策(ローカル)

Mac環境ですが、こちらではSDKアップデート時に--allオプションをつければこれまで通り使えました。
(2014/06/29時点、アンインストール&再インストールで成功することを確認)

android update sdk --all --filter extra-android-m2repository --no-ui --force

これを付けないとextra-android-m2repositoryがインストールできず、support-v4:19.1.0などが解決できずにビルドエラーが発生します。

解決策(Travis CI)

Travis CIでは上記でもダメでした。
--allをつけてもextra-android-m2repository見つかりません。

Error: Ignoring unknown package filter 'extra-android-m2repository'
Warning: The package filter removed all packages. There is nothing to install.
         Please consider trying to update again without a package filter.

ちなみにこれは大分前にセットアップした.travis.ymlだったため、language:javaの指定でした。

現在β版でAndroid用の環境として用意されているlanguage:androidを指定して、デフォルトでインストールされているextra-android-m2repositoryを使えばビルドできました。
Travis CI: Building an Android Project (beta)

ただ、language:androidでも、componentsextra-android-m2repositoryを明示的に指定すると上記のエラーが発生してしまいます。
Travis CIで出力されるXMLのリストがローカルで実行した場合と異なっていたので、Travisでは古いXMLがキャッシュされたりしているのかもしれません。(推測)

(2014/7/11追記)
試行錯誤してようやく分かりましたが、toolsもアップデートが必要だったようです。
tools(r23)が入っていれば、extra-android-m2repositoryがインストールできました。
toolsbuild-tools-20.0.0に依存しているため、まずbuild-tools-20.0.0を入れ、その後toolsを入れるのが良いようです。

補足:Maven Centralを使わない理由

support-v4ライブラリを使う場合、Android Studio(Gradle)から使うときには次の二つの方法があると思います。

  1. Maven Centralからインストール
  2. Android Support Repositoryからインストール

両者は以下のように指定の仕方が異なります。

  1. compile 'com.google.android:support-v4:r7'
  2. compile 'com.android.support:support-v4:19.1.0'

1.を使えれば良いのですが、
1.の方は少し古く、2.の方にしか含まれないものがあります。
例えば、ViewPager.PageTransformerがあります。
このインタフェースを使うとViewPagerでの画面遷移アニメーションをカスタマイズできます。
こうしたクラスを使う場合は2.の方を選ぶ必要があります。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13