3137


[Crashlytics](https://try.crashlytics.com/)のMavenリポジトリから新しい[Fabric](https://dev.twitter.com/products/fabric)のリポジトリにした後、Gradleのビルドが信じられないほど遅くなりました。

この問題はGradleが依存関係を解決するうえで、FabricのMavenリポジトリが 401 Unauthorized
を返しているので引き起こされているように見えます。

[code]

    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/recyclerview-v7/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/appcompat-v7/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/support-v4/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/google/android/gms/play-services/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/support-annotations/21.0.2/support-annotations-21.0.2.pom]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/mediarouter-v7/19.0.1/mediarouter-v7-19.0.1.pom]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/support-annotations/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/recyclerview-v7/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/appcompat-v7/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/android/support/support-v4/maven-metadata.xml]
    Failed to get resource: GET. [HTTP HTTP/1.1 401 Unauthorized: https://maven.fabric.io/repo/com/google/android/gms/play-services/maven-metadata.xml]
    
[/code]

古いCrashlyticsのMavenリポジトリは 401 Unauthorized を返してきません。

何か解決策はあるでしょうか。

* * *

これは、実際に私が遭遇した問題を解決できたStack Overflowの質問を翻訳し、編集したものです。  
[android - Fabric maven repo causes slow gradle builds - Stack
Overflow](https://stackoverflow.com/questions/27117609/fabric-maven-repo-
causes-slow-gradle-builds)


CC BY-SA 3.0
2015-01-05T13:18:28.927
3136
2015-01-05T16:15:53.150
2017-05-23T12:38:55.250
-1
724
question
android gradle maven twitter-fabric
FabricのMavenリポジトリが401を返すためGradleのビルドが遅い


`build.gradle`

[code]

    maven { url 'https://maven.fabric.io/repo' }
    
[/code]

を

[code]

    maven { url 'https://maven.fabric.io/public' }
    
[/code]

に置換します。

以前はFabricに載っているやり方に正しくないURLが記載されていたため、この問題が発生します。
<https://fabric.io/downloads/gradle>

現時点でも、Twitterの方のドキュメントは修正されていません。  
[Integrate the SDK | Twitter Developers](https://dev.twitter.com/twitter-
kit/android/integrate)

* * *

この変更のみで、以前は1分以上かかっていたところが、15秒を切るようになりました。

[code]

    ./gradlew clean assembleProductionDebug
    Total time: 2 mins 35.675 secs
    ./gradlew assembleProductionDebug
    Total time: 1 mins 13.216 secs
    
[/code]

ここで、FabricのリポジトリURLを正しいものにすると

[code]

    ./gradlew clean assembleProductionDebug
    Total time: 1 mins 36.05 secs
    ./gradlew assembleProductionDebug
    Total time: 13.338 secs
    
[/code]


CC BY-SA 3.0
2015-01-05T13:18:28.927
3137
2015-01-05T13:31:17.613
2015-01-05T13:31:17.613
724
724
3136
answer


本質的な対策ではありませんが、ネットワークに係る問題については 追加時以外はPreferences-GradleでOffline
workにチェックを入れておくことでも解決できます。


CC BY-SA 3.0
2015-01-05T16:15:53.150
3147
2015-01-05T16:15:53.150
497
3136
answer