2017-03-07 3 views
1

をコピーしますアンドロイドのGradleプラグインのアップデートは、私は私のために私のAndroidのbuild.gradleファイルのコピー私の建てAPKファイルで次の作業したタスク

  • のGradleのV3.3(v2.14.1から)(V2.2.3から)
  • のAndroidのGradleプラグインV2.3.0
0:とAndroid Studioの提案アップデートを行う場合、今日破りました、

No signature of method: org.gradle.api.internal.tasks.DefaultTaskOutputs$TaskOutputUnionFileCollection.setFrom() is applicable for argument types: (java.io.File) values: [..\app-release.apk] 
Possible solutions: sort() 

要約すると、もはやFileパラメータを取り、それはTaskOutputUnionFileCollection.setFrom()ように思えるん:グレードビルドを実行

は今ラインoutputs.files.setfrom(...)に、次のエラーが発生します。

しかし、このコードを新しいバージョンに移行する方法はわかりません。look through the source classは私を助けませんでした。


私はGradle 3.3. Release Notesと同様Android Gradle plugin Known Issues pageを見て、これには直接の言及は認められません。

+0

ブレイクラインを強制的に「ファイルロックの問題は、」([このリンクで詳述]と同様であり、HTTPS ://discuss.gradle.org/t/build-failure-with-failed-to-capture-snapshot-of-input-files-for-task-war-during-up-to-date-check/9132/8 )。プロジェクトのルートフォルダには '.gradle'フォルダがあります。 –

+0

私もこの問題を抱えており、どのドキュメントでもこの問題を見つけることはできません。回避策を見つけることができましたか? – user1088166

+0

@ user1088166私は使い終わった回避策を追加しました。私が必要とするものはありますか?もっと良い解決策が見つかったら、それを投稿してください。 –

答えて

0

回避策を実装せずに、上記のコードの正確な翻訳&を直接見つけることができませんでした。問題は、コピーコマンドの宛先にプロジェクトのルートフォルダを使用することにあります。

回避策は、別のフォルダ..\releaseを作成することでしたし、次のコードは正常に動作します:

/** 
* Copies the final release APK into the project root folder. 
*/ 
task copyRelease(type: Copy) { 
    from "build/outputs/apk" 
    into "../release" 
    include "app-release.apk" 
} 
関連する問題