前人未踏の領域へ アプリ開発編

Android, iOSアプリ開発に関する調査メモ置き場。ほとんどAndroid。古い記事にはアプリ以外も含まれます。

Android: android gradle pluginを7.0.4から7.1.1にアップデートする

内容

少し前からGradle 7.1.1にアップデートしろとの案内が出ていたが、対応できずにいたものをまとめて対応。 同じようなタイミングでターゲットSDKも変えたのでもしかしたらそちらの影響もあるかも。

基本的にはUpgrade Assittantが勝手にやってくれるが、 案内通りにすすめると何箇所かでエラーになったので対応した。
以下は比較的特殊な対応だった部分の抜粋

build.gradle.kts(:app)

namespace の記述

AndroidManifestに書いていたpackage属性の代わりになる模様。

// build.gradle.kts(:app)
android {
    namespace = "com.hoge.fuga"
}
Lintの記述を更新
// Old
    lint {
        isCheckDependencies = true
        isAbortOnError = false
        isCheckReleaseBuilds = false
        disable("InvalidPackage")
        disable("ResourceType")
    }
// New
    lint {
        checkDependencies = true
        abortOnError = false
        checkReleaseBuilds = false
        disable.add("InvalidPackage")
        disable.add("ResourceType")
    }

AndroidManifest

package属性の削除

今後はbuild.gradleの方でnamespaceを使うらしい

// Old
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hoge.fuga">
// New
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
環境ごとの差分ファイルにtools:replace="android:name"をつける

AndroidManifestが複数ある場合の マージルールの適用が厳格化されたのか、エラーになるようになったので対応。 自分のケースではActivityの重複定義されているという扱いになっていたので優先度の低い方にreplace属性をつけて対応(高い方だとエラーになった)。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application>
        <activity
            android:name=".activity.HogeFugaActivity"
            android:exported="true"
            tools:replace="android:name">

次期Android SDKはTiramisuに

Android 9.0 (Pie)以降、SDK Platformに名前がついていなかったが(あったのかもしれないが)Tで復活したようだ。
Tiramisuだそうな。勝手な予想だけど誰かの強い意志が働いてそうな気がするw

f:id:takeR:20220212111610p:plain

ちなみにAndroid Studioにもアルファベット順にコードネームがついていて、こちらは動物。最新版はDolphinだ。

Android StudioでViewBindingがRun App後にエラー表示される件

課題

アプリ開発でViewBindingを使っているが、Run Appしてアプリを実行したあとでエディタのViewBindingに関する部分がコンパイルエラー扱いになる場合がある。どうすればよいか。

対応

対応というか解決してないんだけど、とりあえずGradleと同期するとコンパイルエラーは消える。

f:id:takeR:20220130174211p:plain
象さんをクリック

ずーっと前から修正されないのでこちらの設定の問題な気もする。