凡ミスした結果Gradleについて少し勉強できた.内容はしょうもないミス.ただ,初心者は意外とこういうミスでハマったりするので,Gradleについての基礎とあわせ,自分の恥ずかしいミスについて紹介させてください. Show
「アプリのbuild.gradleファイルに~」と書かれていたら. やろうとしたことNavigationEditorを使いたくて,公式ガイドを参考に作業しようとした.
ここで僕はミスり,build.gradle(プロジェクト名)のdependenciesにコードを追加してしまった. 起きたことGradleエラーが出,わけが分からずバージョンをいじってさらに深刻化してしまった. 解決策
Gradle Gradle pluginのバージョンについてビルドシステムであるGradleを利用できるようにするのがGradle pluginなのだが,それぞれの対応しているバージョンが異なる. 例えばGradle pluginのバージョンが4.0.0の際に必要なGradleのバージョンは6.1.1以降となる.ややこしい…
GradleとGradle pluginのバージョン確認と変更Android
Studio上で 以下,凡ミスに気づかなかったときの迷走ぶりを紹介混乱している当時のメモです. エラーの内容
Gradleのバージョンがあってないらしい. 一度追加したコードをコメントアウトし, GradleとGradle pluginのバージョンを対応させる. エラーが消えた.
アホですね−. 参考
[Android]ライブラリーとGradleのバージョンを指定する技術古いバージョンを使っていると気づいたら、バージョンの更新をします。バージョンの指定の仕方は複数あります。皆様はどうやってバージョンを指定していますか? この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 はじめにこのシリーズを初めての方はこちらです。 「最近Androidを始めた同僚のソースをモダン化計画 」シリーズ開始 | Developers.IO リリースを目指して作っているので、公開してまずいところは、一部改変しています。 前回復習[Android]ライブラリーとGradleが古いバージョンを使っていると気づく技術 | Developers.IO 古いバージョンを使っていると気づいたら、次は新しいバージョンに設定します。設定するだけと思いがちなんですが、ここよく考えたほうが良いです。長いプロジェクトや個人や趣味で放置しがちのプロジェクトほど、1周回って悩みどころなんです! バージョン指定の方法まずはどんな指定の仕方があるか洗い出します。無駄に選択肢がたくさんあります。皆さんはどれを使っていますか? 直接バージョンを指定する愚直にバージョンを直接書きます。
+ で指定するマイナーバージョンをいちいちアップデートしたりめんどいので+を使うと楽ですね。+ですると、その中でも一番新しいバージョンという指定ができます。
build.gradleで変数を使って指定するメリットとしては、Android Supportライブラリーなどは全部同じバージョンを指定しないといけないですが、変数をつかってるので統一しやすいです。 設定例:
使用例 timber/build.gradle at master · JakeWharton/timber gradle.propertiesを使って指定する個人の感想ですが、メリットとしては、「build.gradleで変数を使って指定する」と同じですが、app/build.gradleは長くなりがちで、ファイルの途中にバージョン定義があったり探しにくいです gradle.propertiesに書くことで、指定箇所がわかりやすくなります。 設定例: /gradle.properties
/app/build.gradle
例:Droid Kaigi 2017 conference-app-2017/gradle.properties at master · DroidKaigi/conference-app-2017 conference-app-2017/build.gradle at master · DroidKaigi/conference-app-2017 1周回っての結論: 何も工夫せず直接バージョンを指定するええーっという方が多いと思うんですが、昔は僕も「+で指定するのめっちゃ楽ー。サポートライブラリーのバージョンを揃えるために変数つかって一気に指定するとか便利ー」とか思っていた時期がありました。直接バージョン指定するなど情弱っと。 今は、逆で1周回って「直接書いたほうが変な罠踏まないしメンテが楽で、変更も楽だな」と思うようになりました。 とはいえ、こればっかりは趣味の世界だと思います。チーム内でよく話し合って決めていただけばと思います。僕なりの結論を書きます。 古いバージョンに気づける前回で説明した通り、古いバージョンのときは背景の色がつくので気づけます。 + で指定した場合は、ずっとあの色の背景なので、気づけないんですよね。 ビルドがはやくなる+ で指定している場合は、Android Studioでビルドや起動するたび最新版のチェックしてDLが走るので少し遅いです。バージョンが指定ある場合すでにDLしてたらチェックが走らないので早い。 オフラインモードでビルドできる「ビルドがはやくなる」でチェックがはしるということはオンラインじゃないとビルドができないです。一度DLし終わった状態だとオフラインモードでのビルドは、めちゃめちゃ早いのでオススメです。 突然動かなくなったときの無駄な調査が発生しない+ 指定の場合は、突然ビルドができなくなるっということが半年に一回ぐらい起きます。「そのときなんで?昨日までできたじゃん。。」パニック状態。+だとライブラリーのバージョンを気にしないで運用/開発してると思います。なので疑うのが一番最後なんですよね。ソースコードをもうめちゃめちゃ疑った後に途方にくれてbuild.gradleみて、「あっ」てなるやつです。 だめだったときに、もとに戻しやすいこれまた + のときです。 「突然動かなくなったときの無駄な調査が発生しない」で話した、突然動くなったときの対処が難しい。どのバージョンで動いてたっけ?っという不毛な調査することになります。だって一度もバージョンを確認していないのだから、コミット履歴みても成功していたバージョンがわからない。一つずつバージョンあげてみてテストしたりなどをします。つらい。 意外と変更が簡単変数だとあまりに触らないから、影響範囲が忘れがち 変数系にいえることなんですが、バージョン変更が意外と面倒で、ここ書き換えるとどこ変わるんだっけ?結局最新バージョンいくつに変更するんだっけ?って何往復かしてしまいます。月に1回、3ヶ月1回しか触らないので、影響範囲を忘れています。 100歩譲って、そこはまぁ我慢しよう。バージョンの更新ちょっとストレスがあるんです。 変数だとAndroid Studioがいい感じに変えてくれない 変数系でもAndroid Studioで気づくことはできるんですが、Android Studioが変えてくれないんです。 前回Android Stuidioがいい感じにバージョンを編集してくれるので、メッセージ読んで「Alt Enter or Option Enter」 して、動作確認してだめだったら前に戻すっていうことも簡単にできます。Support Libraryとかの揃えるのめんどくさい?っと思うと思うのですが、更新のタイミングをそろえるとAlt Enter or Option Enterで最新に変えていくと全部バージョンが揃うのであんまり困っていません。 以上の点で趣味でもプロダクトでも、僕は1周回って直接バージョンを指定しています。 これはすべてAndroid Studioさんが優秀すぎるからです。 まとめ「Droid Kaigiとかイケイケのプロジェクトは変数とか使って指定してるよ!今どき直接バージョンしてるとか、ふっるい〜。この情弱めが!」っと言われても、僕は理由を説明します。 好みの問題もあるので、チームでメリット・デメリットをよく話し合い決めていただければ思います。 Android Gradle Plugin Versionの確認方法は?確認場所 Gradle のバージョンはプロジェクトの File -> Project Structure -> Project を見ればわかります。
Androidアプリのバージョン番号は?[Android版] バージョン番号の確認方法 アプリケーションのバージョン番号は、アプリのメニュー内からご確認いただけます。 ①左上のRアイコンをタッチしてください。 ②メニュー下部にスクロールすると、「バージョン情報」があり、バージョン番号が表示されています。
Android Studioのバージョン表示は?メニューの [Help] -> [About] より現在のバージョンを確認する。
Gradle 何ができる?Gradleは、設定ファイルではなくビルドスクリプトを作成することでビルドを実行することになります。 ビルドの順番や依存関係といった順番もすべてスクリプト化することが可能であるため、非常に柔軟なビルド設定を作成できます。
|