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

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

Android Studio

Jetpack Compose:BOMによるバージョン指定

内容 Jetpack Compose関連のライブラリのバージョン指定をこれまで個別に行なってきたが、Firebaseと同様にBOM(Bill of Materials)が提供されるようになった。依存関係をカバーしてくれるので早速使っていきたい。 対応 基本となる設定を確認。既に書いて…

Firebase CrashlyticsのエラーがAndroid Studioで参照できるようになった件

内容 Android StudioのElectric Eelから、App Quality Insights で Firebase Crashlyticsに記録された内容が参照できるようになった。 対応 Android StudioにFirebase Crashlyticsで使っているアカウントでログインするだけ。既に別アカウントでログインして…

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

課題 アプリ開発でViewBindingを使っているが、Run Appしてアプリを実行したあとでエディタのViewBindingに関する部分がコンパイルエラー扱いになる場合がある。どうすればよいか。 対応 対応というか解決してないんだけど、とりあえずGradleと同期するとコ…

Apple Silicon版のAndroid StudioをToolbox Appで使えるようにする

課題 Apple Silicon版のMacBook Proの購入に伴い、Android StudioもApple Silicon版にしたいが、 できればJetBrainsのToolbox App経由で使いたい。どうすれば良いか。 対応 JetBrains Toolbox AppをApple Silicon版にする Toolbox上のAndroid Studioをアンイ…

M1 MacでRoomがビルドエラーになる

内容 M1 MaxなMacBook Proが我が家に届いた!ということで早速セットアップを行ったところ、プロジェクトがKaptのところでビルドエラーになる。 対応 参考URLによると、Roomのところでエラーになるらしい。ということでRoomのバージョンを最新の 2.4.0-beta0…

Android:ComposeのDeploy PreviewでPreviewActivity is not an Activity subclass or aliasになる

課題 Jetpack Composeの実装中、Deploy Preview で端末に特定のComposeをデプロイしようとしたところ、以下のエラーが発生してデプロイできない。 androidx.compose.ui.tooling.PreviewActivity is not an Activity subclass or alias ArcticFox 2020.3.1 Co…

Android Studio:Bumblebee 2021.1.1 Canary 6 アップデートメモ

内容 Bumblebee 2021.1.1 Canary 6 がリリースされたのでアップデートしてみた。 変更したこと 各バージョンを更新(主要なもののみ記載) compileSdk => 31 targetSdk => 31 composeVersion => 1.0.1 kotlinVersion => 1.5.21 // compose-1.0.1のターゲット…

Android Studio:Bumblebee 2021.1.1 Canary 5 アップデートメモ

やったこと android gradle pluginを 7.1.0-alpha05 に更新 Hilt関連を 2.38.1 に更新 compileSdk,targetSdk を31に変更 課題 Bunblebee Canary 5にしたところ以下の問題が発生。 command+マウスクリックで宣言先に遷移できない コードアシストが発動しない …

Android Studio:Bumblebee Canary 4:バグ:変更が反映されない

問題 Run App でAndroid Studioからアプリ起動後、コードを修正して Run App しても内容が反映されない。 対応 Android Studioのバグ。 Canary3も動作がおかしいのでCanary2 まで戻して修正待ち。またはArctic FoxのRC1を使う 参考 https://issuetracker.goo…

Android Studio:Code Completionで大文字小文字を無視する

課題 Android Studioでコード補完(Code Completion)する際に大文字小文字が一致していないと補完してくれなくなった。どうすればよいか。 対応 Preferences -> Editor -> General -> Code completion -> Match Case をオフにする Match caseのチェックを外…

Android:Android Gradle pluginを7.0.0-beta03にしたら同期エラーになった

課題 Android Gradle pluginのバージョンを 7.0.0-beta03 にあげたところ、Gradle project sysnc faildが発生した。 エラーメッセージは以下のとおり Unable to find method ''void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpl…

Jetpack Compose: widthとpaddingの関係について

Jetpack Compseで Compsableにpaddingの挙動が気になったのでちょっと確認してみた。 @Preview(name = "PaddingとWidthの確認", showBackground = true) @Composable fun BoxPreview() { Surface( modifier = Modifier .padding(20.dp) .width(200.dp) .heig…

Android Studioでjlinkが見つからない件

課題 Android StudioのCanary版でJetpack composeを実装してビルドしようとしたところ以下のエラーに遭遇。 jlnkファイルがないと言われている。見ると確かに存在しない。 /Users/xxx/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-…

Android Studio 4.1 Beta 1に上げる際にビルドできなくなる

課題 Android Studio 4.1 Beta 1がリリースされたため早速ダウンロードして起動してみたところ、 以下のエラーが出てビルドできなくなった。 Gradle sync failed: No such property: scope for class: com.android.build.gradle.internal.variant.Applicatio…

Android JetBrains Toolbox Appのススメ

Toolbox Appとは ご存知の方も多いかもしれないが、Android StudioはJetBrainsの製品をベースに開発されている。 そのJetBransには多くの言語をサポートするためのそれぞれのIDE製品を提供しており、それらのIDEを管理するために Toolbox Appというものも出…

setProguardSeedsConsumerメソッドが見つからない

問題 Android Studioから端末にアプリをインストールしようとしたところ以下のエラーが発生。 Unable to find method 'com.android.tools.r8.CompatProguardCommandBuilder.setProguardSeedsConsumer 原因 build.gradle にあるcom.android.tools.r8の設定が…

R8でNullPointerException

課題 Android Stuio 3.5からはProguardよりもR8推奨ってことでR8を有効にした状態で リリースビルドをしようとしたらビルド中にNullPointerExceptionが発生してビルドできなかった。 対応 ググった感じだとOkHTTPを入れているとバージョンによっては発生する…

Gradle 4.10とFirebaseについて

2018/11/12追記 Android Studiio 3.3 beta3 firebase-core:16.0.5 firebase-perf:16.2.0 distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip の組み合わせで上手く動いた。なのでgradle-4.10.2で現在は問題ない。 以下の記…

Android Studioのメモリを設定する

課題 Android Studioのメモリが不足するため設定を変更したい。 対応 studio.vmoptions(またはidea.vmoptions)を指定のフォルダにセットする。 設定ファイルは~/Library/Preferences/ 配下にAndroidStudioのバージョンに応じて個別に置かれるのでアップデー…

AndroidのUIテストとJavaテストを分ける。

課題 AndroidのUIテストとJavaのテストを分けて記述したい。 対応 testとandroidTestをうまく使う。それぞれがごっちゃになってるといろいろうまく行かない。 BuildValiantsを切り替える テストの目的に応じて変更する。 View > Tool Windows > BuildValiant…

testCompileとandroidTestCompileの違い。

課題 Androidの公式サイトを読んでいるとtestCompileとandroidTestCompileというのが2つ出てくるが、その違いは何か。どう使い分ければいいのか。 回答 src/test 以下に記述した内容はtestCompileに影響する。 src/androidTestに記述した内容はandroidTestC…

junit.framework.AssertionFailedError: No tests found が発生する

環境 Android Studio 1.3 RC4 Android SDK Tools 24.3.3 Android Support Library 22.2.1 Google Play Services 25.0.0 課題 Android StudioでJUnit4によるテストを書いてみたが、@Testアノテーションをつけたにも関わらず、実行するとテストが見つからない…

Lintエラーを無視してビルドしたい

リリースビルド時にLintの警告が出てビルドできない、しかしビルドしたい。そんな場合。 //build.gradleを編集 android { lintOptions { checkReleaseBuilds false abortOnError false } }