私は彼を恐れているので、あなたはGradleを恐れていますか?

私はすぐに言う-私はGradleに完全に新しいです。

仕事の半日、家族を含むコードを書く代わりに、150行の構成から、 classpath 'com.jakewharton.sdkmanager:gradle-plugin:+



to com.jakewharton.sdkmanager:gradle-plugin:0.10.1



変更することで修正するclasspath 'com.jakewharton.sdkmanager:gradle-plugin:+



があることにclasspath 'com.jakewharton.sdkmanager:gradle-plugin:+



com.jakewharton.sdkmanager:gradle-plugin:0.10.1





プログラムは昨日開始し、今日は停止しました。 今日私が間違ったことを知っていますか? しかし、何も。 まったく同じコードと同じ構成。 単一のファイルは変更されていません。

思慮深いまたは経験豊富なプログラマーは、「+」記号はライブラリの最新バージョンをダウンロードする必要があり、何かが間違ってロードされることを意味するとすでに推測しています。 はい、これは問題の一部ですが、すべてではありません。 ライブラリ自体は何も損なわなかった。 彼女は別のものに依存していました-それは甘やかされました。

とにかく、テストされていないライブラリを共通リポジトリにアップロードするにはどのようなMODが必要ですか? Mavenではこれはそうではありませんでした!



そして興味があれば、それがどのように見えるかを説明します。

Android上のアプリケーションはIDEからの実行を停止しました。 責任があるのはIDEではなく、アプリケーションを収集するGraddleであることを理解するには、時間がかかりました。 ところで、すべてが完全にコンパイルされました。 最後まで。 しかし、それは始まりませんでした。

プラグインandroid.tools.buildに最新バージョンのバグがあることをインターネットで発見したエラーを検索しました。 古い、11番目を返すだけで十分です。 configを見ると、11番目がすでに立っていることがわかります。 一般に、11番目が登録されているにもかかわらず、後者はとにかく使用されることに気づくまで、私は長い間倒錯していました。

Gradleでは、プラグインの依存関係を確認する方法が見つかりませんでした(ただし、Mavenではこのような機会があります)。 しかし、行にコメントを付けて何度もビルドを再開することで、プラグインが見つかりました。これは、新しいバージョンでは、新しいバージョンの不正なandroid.tools.buildを使用しています。



なぜこれが起こったのですか?

この状況は私の経験不足のために起こりました。 Gradleの専門家ではなく、プロジェクトを開始したとき、gitハブに配置された構成をコピーしました。 はい コピーと貼り付けは悪いことですが、初心者はどこかから始める必要があります。 障害は完全に私にあると認めますが、新しいユーザーがそのような問題から何らかの形で保護されていればいいと思います。



単なる泣き虫ではなく、エロチックな泣き虫になるために、私は私の提案を無効にします:

まあ、プラグインのバージョンが構成で直接示されている場合、別のユーザーが使用されることをユーザーに何らかの方法で通知できます。

はい、プラグインの依存関係ツリーを表示するコマンドを入力すると便利です。

テストが不十分なプラグインを一般にアップロードする必要はありません。

「+」を付ける機能を禁止する必要があります。 少なくとも最高レベル。 つまり、「10。+」は引き続き使用できますが、「+」だけです-ATATA!



今日私はGradleの世界でこのような刺激的な5時間の冒険をしました。

一般に、Gradleの新規参入者は私のレーキを踏まないでください。また、昔からの人も-私の無能さのために、私をmeりつけてください。



All Articles