Unresolved reference: BuildConfig

Android Gradle Plugin (AGP) 8.0 以降、BuildConfig ファイルの生成はデフォルトで無効になっており、必要なモジュールに対してのみ手動で有効にする必要があります。

モジュール別であれば、


// build.gradle.kts

android {
  buildFeatures {
    buildConfig = true
  }
}

すべてのモジュールに適用する場合は以下。


# gradle.properties

android.defaults.buildfeatures.buildconfig=true

Unresolved reference: BuildConfig



2023年8月31日以降 アプリは Android 13(API レベル 33)以降を対象にする必要があります。

2023 年 8 月 31 日以降:

- 新規のアプリは Android 13(API レベル 33)以降を対象にする必要があります。ただし、Wear OS アプリは、Android 11(API レベル 30)から Android 13(API レベル 33)までのバージョンを対象にする必要があります。

- アプリのアップデートは Android 13 以降を対象とし、Android 13 での動作変更に合わせて調整する必要があります。ただし、Wear OS アプリは Android 11 を対象にする必要があります。

👉 Google Play の対象 API レベルの要件を満たす  |  Android Developers hatena-bookmark

2023 年 8 月 31 日以降:

- 新しいアプリは Android 13(API レベル 33)以降(Wear OS アプリの場合は Android 11(API レベル 30)または Android 13(API レベル 33)まで)を対象とする必要があります。

- 既存のアプリについては、アプリの対象 API レベルよりも新しい Android OS を搭載したデバイスでもユーザーがアクセスし続けられるようにするには、API レベル 31 以降を対象とする必要があります。API レベル 30 以前(Wear OS の場合は API レベル 29 以前)を対象とするアプリの場合は、アプリの対象 API レベルと同じかそれ以前の Android OS を搭載したデバイス上でのみアクセス可能となります。

👉 Google Play アプリの対象 API レベル要件 - Play Console ヘルプ hatena-bookmark

ということで、API レベルを 32 から 33 に上げるための対応詳細を書いていきます。


(更新中...)


ChatGPT クローラー の UA(ユーザーエージェント) と IPアドレス範囲 まとめ

👉 OpenAI、Webデータ収集クローラー「GPTBot」のブロック方法を説明 - ITmedia NEWS hatena-bookmark

公式サイトでは、目次からのリンクなしのページだが、もう一つあるので書いてみた。

リリース当時はここらの話は、Common Clowl 中心だった。

そこらは、最終にあるHNディスカッションリンクを参照でどうぞ。

 

🌍 GPTBot


ユーザーエージェントトークン:
GPTBot

ユーザーエージェント文字列:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot)

IPアドレス:
40.83.2.64/28

👉 GPTBot - OpenAI API hatena-bookmark

 

🌍 ChatGPT-User


ユーザーエージェントトークン:
ChatGPT-User

ユーザーエージェント文字列:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot

IPアドレス:
23.98.142.176/28

👉 Bot - OpenAI API hatena-bookmark

 

🌍 CCBot

以前、使っていましたよね?


ユーザーエージェントトークン:
CCBot

👉 Common Crawl hatena-bookmark

 

🌍 まとめ


# robots.txt

User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: CCBot
Disallow: /

実質、手遅れの気休めなんだろな。

👉 GPTBot – OpenAI’s Web Crawler | Hacker News hatena-bookmark


Android Studio Giraffe | 2022.3.1 の dependencies の揃え方

Android Studio Giraffe | 2022.3.1 の dependencies の揃え方Android Studio Giraffe | 2022.3.1 の dependencies の揃え方

Version Catalog + libs.versions.toml で説明します。

まず最初に、Android GradlePlugin と API バージョンを確認します。


👉 Android Studio Flamingo | 2022.2.1  |  Android Developers hatena-bookmark


Giraffe | 2022.3.1	
AGP 8.1	
API  33

これから、


com.android.tools.build.gradle-8.1.0

👉 Google's Maven Repository hatena-bookmark


# libs.versions.toml

[versions]
android-gradle-plugin = "8.1.0"

[plugins]
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }


// build.gradle (root)

android {
  def sdkVersion = 33

  compileSdk sdkVersion
  defaultConfig {
    targetSdk sdkVersion
  }
}

が決まります。

また、Kotlin のバージョンを 1.9.0 にあげることができるので、

Android Studio Giraffe | 2022.3.1 の dependencies の揃え方
👉 Compose to Kotlin Compatibility Map  |  Android Developers hatena-bookmark

Compose Compiler のバージョンも 1.5.0 にあげることができました。

 

◾️ まとめ

大きいところで以下の3つをアップグレードすることができました。


[versions]

android-gradle-plugin = "8.1.0"

kotlin = "1.9.0"

compose-compiler = "1.5.0"

少し触った雰囲気、Android Studio Giraffe は、かなり起動やビルド時間が短くなっているように感じます。

👉 【Plugin DSL】Android Gradle Plugin のバージョンを調べる方法 hatena-bookmark
👉 【Plugin DSL】「com.android.tools.build:gradle」の記述は不要? hatena-bookmark



【ImageMagick】グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

こういうやつ。背景は透明。

コピペで貼り付けるだけでサムネとかSNS画像を作成できます。



 

🖌️ 作り方

ImageMagick で作ります。


brew install imagemagick

まず、透明背景画像を作成します。


magick -size 2000x200 xc:none \
output.png

透明な画像が生成されました。

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

続いてこれにテキストを書き込みます。

フォントは「LINE-Seed-JP_OTF-ExtraBold」、フォントの輪郭の線の色と太さは「white」、「10」とします。


magick -size 2000x200 xc:none \
-font LINE-Seed-JP_OTF-ExtraBold \
-pointsize 160 \
-fill none -stroke white -strokewidth 10 \
-annotate +10+160 "お手軽簡単!" \
output.png

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

👉 LINE Seed hatena-bookmark

さらに、この輪郭線の上に「black」で「2」の線を重ねます。


magick -size 2000x200 xc:none \
-font LINE-Seed-JP_OTF-ExtraBold \
-pointsize 160 \
-fill none -stroke white -strokewidth 10 \
-annotate +10+160 "お手軽簡単!" \
-fill none -stroke black -strokewidth 2 \
-annotate +10+160 "お手軽簡単!" \
output.png

グラデーションな色で塗りつぶした縁取り極太テキスト画像

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

さらに、この上に、グラデーションの色「red-orange」で塗りつぶされたテキストを重ねます。


magick -size 2000x200 xc:none \
-font LINE-Seed-JP_OTF-ExtraBold \
-pointsize 160 \
-fill none -stroke white -strokewidth 10 \
-annotate +10+160 "お手軽簡単!" \
-fill none -stroke black -strokewidth 2 \
-annotate +10+160 "お手軽簡単!" \
-tile "gradient:red-orange" \
-annotate +10+160 "お手軽簡単!" \
output.png

グラデーションな色で塗りつぶした縁取り極太テキスト画像

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

最後に、不要なまわりの透明部分を取り除きます。


magick -size 2000x200 xc:none \
-font LINE-Seed-JP_OTF-ExtraBold \
-pointsize 160 \
-fill none -stroke white -strokewidth 10 \
-annotate +10+160 "お手軽簡単!" \
-fill none -stroke black -strokewidth 2 \
-annotate +10+160 "お手軽簡単!" \
-tile "gradient:red-orange" \
-annotate +10+160 "お手軽簡単!" \
-trim \
output.png

グラデーションな色で塗りつぶした縁取り極太テキスト画像って使えるよな

 

🖌️ まとめ

変更になりそうなパラメータは引数にしておきます。

あと実行後は、プレビューで開いてすぐ確認できるようにしておきます。



お好みの各引数は選択肢として ショートカットにしておけばターミナルを使う必要もない。

それなりのデザイン的なアプリで作るのもいいですが、ササっと作りたい人はどうぞ。