3

に3.0.1とのGradleへのAndroid Studio用のGradleプラグインをアップグレードした後の設定の依存関係をコピーすることができません:私はコピーこの単純なGradleのタスクを使用して、特定のフォルダへの依存関係を「コンパイル」するために使用さ4.1

task copyLibs(type: Copy) { 
    from configurations.compile 
    into "$project.rootDir/reports/libs/" 
} 

しかし、 Android Studio用のgradleプラグイン3.0.1と4.1用のGradleツールを使用してAndroidプロジェクトをアップグレードした直後に動作を停止しました。依存関係の設定 'compile'は現在https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurationsで廃止されていますので、 'implementation'に変更しました。しかし、私はGradleのビルドエラー出力ごとに許可されていない設定に直接「実装」を解決としての私のcopyLibsタスクを使用することはできませんよ。

$ ./gradlew.bat clean build 

FAILURE: Build failed with an exception. 

* What went wrong: 
Could not determine the dependencies of task ':app:copyLibs'. 
> Resolving configuration 'implementation' directly is not allowed 

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

* Get more help at https://help.gradle.org 

BUILD FAILED in 1s 

アプリモジュールのための私の現在のbuild.gradleファイルを、以下を参照してください。プラグインを適用します。 「com.android.application」

android { 
    compileSdkVersion 26 
    defaultConfig { 
     applicationId "newgradle.com.testingnewgradle" 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    implementation 'com.android.support:appcompat-v7:26.1.0' 
    implementation 'com.android.support:support-v4:26.1.0' 
    implementation 'com.android.support:design:26.1.0' 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2' 
    testImplementation 'junit:junit:4.12' 
    androidTestImplementation 'com.android.support.test:runner:1.0.1' 
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 
} 

task copyLibs(type: Copy) { 
    from configurations.implementation 
    into "$project.rootDir/reports/libs/" 
} 
build.dependsOn copyLibs 

私はそれが動作しますが、私は、これは使用をプラグインで最新の勧告に準拠になりたい「コンパイル」を使用している場合。

私の環境をアップグレードする前のように働くために、私のcopyLibsタスクをアップグレードするのに助けが必要です。 Android Studio用のgradleプラグイン2.2.3とGradleツール2.14.1を使用していました。

+0

https://discuss.gradle.org/t/not-able-to-copy-implementation-dependencies/25344でcollegueから募集したチケットも参照してください。 – Rafael

答えて

0

私はコメントしたかったのですが、それでも必要な評判はまだありません(1点!!>。<)。それはimplementationの依存関係のリストを取得する方法があるようには見えず、the Gradle ticketに記載されているcompileClasspathが公開されています。あなたがAndroidと直接作業している場合は、 Unity3Dはリリースのためにそれらをパッケージ化することができます。

このケースでは、廃止予定のcompileタイプを使用するのが唯一のソリューションだと思われます。

関連する問題