タブレット用プログラムの書き止め

android OS & iPadOS の記録。

エミュレーターが起動しない。その他、JDK。

2023-03-20 17:18:26 | Android studio 日記

相変わらず、

Error while waiting for device: The emulator process for AVD has terminated.

が出ている。

複合的なのか原因がはっきりしない。

Error while waiting for device: 待機中にエラー。幅広い^^;
取り合えず、*.lock を削除するとエミュレーターが動く。対処療法。

 

それでエミュレーターは動いてるけど

E/EGL_emulation: tid 2407: eglSurfaceAttrib(1199): error 0x3009 (EGL_BAD_MATCH)

エラーが出ている。でも止まらない。

 

 

システム環境変数について。

JAVA_HOME 変更しているのに android studio内で更新されていない。
JDKフォルダを移動させてJAVA_HOMEにパスを設定したらやはり見失ってエラー。
android studio でJDKをダウンロードしたフォルダパスが保存されるのだろう。
そのフォルダを基準にして、パスをJAVA_HOMEに設定するだったか?
インスト何年前だろ。もう忘れてるよ~。

フォルダを変えたいのなら新たな場所にダウンロードする事なんだろう。

 

gradleのバージョンとJDKのバージョンの整合性、APIのバージョン、調べるところが多いなぁ~。

仕方ない。

 

 


ビルドできない原因が分からない時。

2023-03-20 14:17:50 | Android studio 日記

前回と同じ条件なのに動かない。
たまにあるんだけど、その原因の一つとして、リアルタイムスキャンを疑ってみる。

期間無料のウィルス対策ソフト。
メモリ使用が半端ない。
1GB超ですよ。
心配は残るけどアンインストール。
Windowsのウィルス対策で様子見です。

 

リアルタイムスキャンの影響について。
デベロッパーからの抜粋。

/////////////

Android Studio でビルドを実行する場合、Gradle はアプリのリソースとソースコードをコンパイルし、コンパイルされたリソースをまとめて APK または AAB にパッケージ化します。この処理中に、パソコン上に多数のファイルが作成されます。ウイルス対策ソフトウェアでリアルタイム スキャンが有効になっている場合は、ファイルが作成されるたびにそのファイルのスキャンが実行され、ビルドプロセスが強制的に停止されることがあります。

この問題を回避するには、特定のディレクトリをウイルス対策ソフトウェアのリアルタイム スキャンから除外します。

/////////////

 

色々対策をしてビルドできるようになった。
だけど、時間を置いたらできなくなった。

よく分からない症状の原因の一つとしてリアルタイム スキャンを考え機能を一時停止。

Windowsのウィルス対策のリアルタイムスキャン停止は、

スタート > すべてのアプリ > Windows セキュリティ > ウィルスと脅威の防止 > ウィルスと脅威の防止の設定 > 設定の管理 > リアルタイム保護

リアルタイム保護のスイッチをOFFにする。
ある程度の経過時間でONに復帰するので放置OK。
できれば、作業終了後にONが良いけど。
あと、作業中の検索は他のPCでやった方がいいかもね。

PCの機種によってツリー表示が変わってくるので
「ウィルスと脅威の防止の設定」
「リアルタイム保護」
これらのキーワードで探す事。

 

市販のウィルス対策ソフトは「リアルタイム」で探す。

デベロッパーの説明ページの下の方に記述。URLはコピペで。

https://developer.android.com/studio/intro/studio-config?hl=ja

 

 

 

 


グレードUP前のプロジェクトがビルドできない。

2023-03-19 03:54:30 | Android studio 日記

何とか以前のビュワープロジェクトがビルドできるようになったよ~。

複数の問題により良く分からない現象でした。
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はまた後で。

 


本来のプロジェクトがビルドアップできない。

2023-03-18 14:33:14 | Android studio 日記

エミュレーター起動確認でテンプレ空プロジェクトを作って動作確認をした。
問題なくエミュレーターは動く。

前のビュワープロジェクトをビルドすると、
Gradle JDK と JAVA_HOME の位置が違うとなんたらの注意が出る。
そして、ビルド失敗。

取り合えず、システム環境変数を変更してPCを再起動。症状変わらず。
ん?android studio の注意コメント内のJAVA_HOMEシステム環境変数が以前のまま。意味わからん。Windowsのシステム環境変数を確認すると変更してある。??????????

またまた取り合えず、Gradle JDK を JAVA_HOME と同じに設定する。
注意は出なくなった。
根本的な原因が残ったが推測ができない。時間かかりそう。

最悪、テンプレ空オブジェクトにビュワープロジェクトのコードを全コピーだ。

 


エミュレーター起動できずビルドアップできない。解決方法。

2023-03-18 05:03:35 | Android studio 日記

原因は、IDE 割り当てメモリ不足だった。
設定は次の場所。

File - Settings - Appearance & Behavior - System Settings -
Memory Settings [ IDE max heap size: ]

私のノートPCは 16GBメモリなので 4096MB を選択。
エミュレーターは動きました。

Error while waiting for device: The emulator process for AVD has terminated.

で、検索したら大体が容量不足としか説明がなく、どうしたらいいか書いてない。知ってる前提は優しさが足りないわ^^;

これでやっと、プログラム修正できる。

 

今回は、IDEマックスヒープが原因だった。
違う場合もあるので時々で対応する事。