何とか以前のビュワープロジェクトがビルドできるようになったよ~。
複数の問題により良く分からない現象でした。
1.IDE メモリヒープ不足でエミュレーターが起動せずビルドできない。
2.build.gradle の implementation 設定の問題でメッセージ出て止まる。
3.ADV関係のデータファイルの問題でエラーで止まる。
あ~めんどくさっ!
対応は、
<1>メモリ容量を増やす。
File - Settings - Appearance & Behavior - System Settings -Memory Settings [ IDE max heap size: ]
//////// 追記 2023.3.20
翌日、作業再開でビルドしたら止まった。
Error while waiting for device: The emulator process for AVD has terminated.
ヒープサイズ確認、最大。
原因が分からないのでADVを他の設定にして、また元に戻してビルド実行。
3番と同じメッセージが出てストップ。*.lock を削除してビルドしたらエミュレーターは動きました。意味わからん。
構成ファイルの記述に問題があるのかも。
あと、デベロッパーのIDE設定説明を見ていないので確認してみる。
//////// 追記終わり
<2>取り合えず、こんなんが表示されたら
Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk7-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk7-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.21)
Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)
以下をbuild.gradle に書き足す。数字は適当に変える?
dependencies {
constraints {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
}
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
}
}
}
私はそのまま書いたらメッセージは消えたけど。
他にも方法があるので良いものを実行する。
コトリン使ってないんだけどね。何かあるらしいよ~。
追記:
この場所 Project Structure - Dependencies - に
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
が居た。諸悪の根源。
テンプレートプロジェクトには入ってないので、何かしらのダウンロードで組み込まれてしまうようです。どっちか消して良いのかな~。後で消去テストしてみる。
<3>*.lock を削除する。フォルダとファイルがありました。
ビルドしたら以下のエラーが出ました。翻訳したらファイルを消してという事だったので指示に従う。
Error while waiting for device: 10.1 WXGA (Tablet) API 17 is already running. If that is not the case, delete D:\Users\dell_\.android\avd\10.1_WXGA_Tablet_API_17_1.avd\*.lock and try again.
デバイスの待機中にエラーが発生しました: 10.1 WXGA (タブレット) API 17 は既に実行されています。 そうでない場合は、D:\Users\dell_\.android\avd\10.1_WXGA_Tablet_API_17_1.avd\*.lock を削除して、もう一度お試しください。
前も gradle up したら動かなくなったんだよね~。
その時は全然分からなくて空プロジェクトを作ってJAVAファイルのコードを手作業でコピー&ペースト……。今回はなんか動いた^^;
別件だけど、デベロッパーにViewModelの一部が非推奨になったって告知されてた。ビュワーはそれ使ってるんだよね~。それも赤字表示だったし、代わりが見つからないしフォーストラブルだった。ViewModelはまた後で。