22

Travis に Android プロジェクトをビルドさせようとしています。のライブラリをダウンロードしようとすると失敗しますConstraintLayout。それを機能させるために私がしなければならないことを知っていますか?

.travis.ymlはこれです:

language: android
jdk:
  - oraclejdk8
android:
  components:
    - platform-tools
    - tools
    - build-tools-23.0.2
    - android-23
    - extra-android-support
    - extra-android-m2repository
    - extra-google-m2repository

build.gradleは:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        applicationId "my.example.bdd"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha2'
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support:support-annotations:23.4.0'
}

Travis で表示されるエラーは次のとおりです。

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.pom
         https://jcenter.bintray.com/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.jar
         file:/usr/local/android-sdk/extras/android/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.pom
         file:/usr/local/android-sdk/extras/android/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.jar
         file:/usr/local/android-sdk/extras/google/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.pom
         file:/usr/local/android-sdk/extras/google/m2repository/com/android/support/constraint/constraint-layout/1.0.0-alpha2/constraint-layout-1.0.0-alpha2.jar

これを修正する方法はありますか?ConstraintLayoutTravisでビルドすることは可能ですか?

4

6 に答える 6

18

サポート ライブラリ バージョン25.0.0の新しいリリースの後、Constraint Layout Alpha1ライブラリは明らかに TravisCI で動作しなくなりました。現時点では、そのバージョンを使用することが唯一の回避策でした。

今、新しいAlpha9バージョンを使用するための新しい回避策を見つけました。.travis.ymlファイルに次を追加します。

before_install:
  - mkdir "$ANDROID_HOME/licenses" || true
  - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
  - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"

androidメインオブジェクトのすべてのライセンスに同意することを忘れないでください。

licenses:
  - android-sdk-license-.+
  - '.+'
于 2016-10-20T02:24:06.030 に答える
13

build.gradleを引き込もうとしていますcom.android.support.constraint:constraint-layout:1.0.0-alpha2。私の SDK Manager は私だけを提供します1.0.0-alpha1(Android サポート リポジトリの Rev 32)。おそらくTravis CIも1.0.0-alpha1同様です。

開発マシンで作業していると思われるので1.0.0-alpha2、ここで何が起こっているのかよくわかりません。Android サポート リポジトリなどの配布パッケージに不具合がある可能性があります。

于 2016-06-03T13:36:20.300 に答える
7

未解決の問題があります https://code.google.com/p/android/issues/detail?id=212128

つまり、com.android.support.constraint:constraint-layout:1.0.0-alpha1Google リポジトリにバンドルされていますが1.0.0-alpha2、新しいバージョンは、ライセンス テキストが配置されていることを期待する gradle プラグインからのみ入手できます$HOME/.android/license/(見つからない場合は、試してください$ANDROID_HOME/licenses)。

問題に記載されているように、(Android Studio 2.2 によって提供される SDK Manager からのライセンスに同意した後) ローカル マシンからライセンス テキスト ファイルを CI サーバーにコピーできます。または、ダウングレードし1.0.0-alpha1て問題を解決してください。

于 2016-06-15T08:05:50.280 に答える
1

と同じ問題がありcom.android.support.constraint:constraint-layout:1.0.0-alpha9ます。私の場合、次の方法で Travis でライセンス ファイルを直接作成しようとしました。

before_install:
  - mkdir "$ANDROID_SDK/licenses" || true
  - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_SDK/licenses/android-sdk-license"

しかし、私には書き込み権限$ANDROID_SDKがなく、 のサポートがないためsudo、次に何をすべきかわかりません。

私が見る唯一のオプションは、Googleがライセンスにそれを含めるか、ダウングレードするまで待つことalpha1です...

于 2016-10-06T13:38:43.117 に答える