4

編集:それを理解して、プロジェクト全体の build.gradle ファイルの allprojects->repositories セクションに JBaruch の提案を実装しました。

IOIO に依存するプロジェクトを書いています。プロジェクトで IOIO のライブラリをコンパイルすると問題が発生します。.aar および .jar ファイルを libs/ ディレクトリに直接配置しようとしました。ただし、gradle で .aar ファイルを操作するのは面倒です。現在、jcenter を使用してこれらのライブラリを見つけようとしています。

jcenterをリポジトリとして使用すると、gradleはもともと解決できませんでした

com.github.ytai.ioio:IOIOLibCore

しかし、バージョン番号 5.05 を指定すると、これが修正されました。ただし、現在gradleは解決に失敗しています

com.sparetimelabs:purejavacomm:0.0.22

これは、プロジェクトでコンパイルするように依頼するライブラリではありません。

以下は私の app/build.gradle ファイルのコピーです

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.example.agrc.elkausbtransfer"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
        compile 'com.android.support:appcompat-v7:23.0.1'
        compile 'com.github.ytai.ioio:IOIOLibCore:5.05'
        compile 'com.github.ytai.ioio:IOIOLibPC:5.05'
        compile 'com.github.ytai.ioio:IOIOLibAndroid:5.05'
        compile 'com.github.ytai.ioio:IOIOLibAndroidAccessory:5.05'
        compile 'com.github.ytai.ioio:IOIOLibAndroidDevice:5.05'
        /* To use IOIO from source
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile(name: 'IOIOLibAndroid-release', ebxt: 'aar')
        compile(name: 'IOIOLibAndroidAccessory-release', ext: 'aar')
        compile(name: 'IOIOLibAndroidDevice-release', ext: 'aar')
        */
    }

JBaruch の提案を試し、Maven の URL をプロジェクト (ルート) の build.gradle ファイルに追加した後、Gradle ビルド ファイルが次のようになっていることに気付きました。

    Executing tasks: [:app:assembleDebug]

Configuration on demand is an incubating feature.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find com.sparetimelabs:purejavacomm:0.0.22.
     Searched in the following locations:
         https://jcenter.bintray.com/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.pom
         https://jcenter.bintray.com/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.jar
         file:/home/eric/Libs/Android/extras/android/m2repository/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.pom
         file:/home/eric/Libs/Android/extras/android/m2repository/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.jar
         file:/home/eric/Libs/Android/extras/google/m2repository/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.pom
         file:/home/eric/Libs/Android/extras/google/m2repository/com/sparetimelabs/purejavacomm/0.0.22/purejavacomm-0.0.22.jar
     Required by:
         ElkaUsbTransfer:app:unspecified
         ElkaUsbTransfer:app:unspecified > com.github.ytai.ioio:IOIOLibPC:5.05

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.061 secs

つまり、Gradle は提供された Maven の URL を検索しませんでした。Gradleにこれを強制するにはどうすればよいですか?

4

2 に答える 2

4

com.sparetimelabs:purejavacomm:0.0.22IOIO プロジェクトの推移的な依存関係です。問題は、Spare time labs が独自のリポジトリを持っていて、成果物を Bintray に公開していないことです。あなたがする必要があるのは、そのリポジトリを Gradle のリポジトリのリストに追加することです:

repositories {
    jcenter()
    maven {
       url 'http://www.sparetimelabs.com/maven2'
    }  
}
于 2015-09-25T01:17:39.620 に答える