Androidメモ

AndroidJavaException: java.lang.NoSuchMethodError: No virtual method close()V in class
Landroid/net/wifi/p2p/WifiP2pManager$Channel; or its super classes (declaration of
'android.net.wifi.p2p.WifiP2pManager$Channel' appears in /system/framework/framework.jar)

→ WifiP2pManager.Channel.close が対応しているSDKのバージョンを確認する。使用箇所を囲うなどする

if (Build.VERSION_CODES.O_MR1 <= Build.VERSION.SDK_INT) {

                wifiP2pManagerChannel.close();

}

API 32 と 33 の差が大きかったのでメモ

BluetoothDevice bluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
→ BluetoothDevice bluetoothDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, BluetoothDevice.class);

onBackPressed のオーバーライドで警告

https://codelabs.developers.google.com/handling-gesture-back-navigation

https://stackoverflow.com/questions/72634225/onbackpressed-deprecated-what-is-the-alternative

Android 14 からはデフォルトになるそうだ

→ 33に上げた。問題は特になかった

Android 12 (API 31)でビルドすると動かない件

https://developers.google.com/ar/develop/unity-arf/android-12-build

対応中。書いてあることを試したが動かなかったので待つ。

Build Toolsを30.0.3に固定するのは採用した。

あるページに従い、一旦Androidのプロジェクトとして出力、Android Studioのエミュレータで動かすことで、

原因となるエラーが出た。

どうやら使っている AdMob バージョンが Android12 に対応してなかったらしい

https://developers.google.com/admob/android/rel-notes#20.5.0

20.5.0を含むUnityプラグインはv7.0.0

→動くようになった。起動後にエラーは出たがそれは別件

日本語化の方法

Android StudioをIntelliJ公式プラグインで日本語化する

https://qiita.com/kuluna/items/7c24a8c5d06a44a5f748

  1. バージョン情報を見る

  2. #AI-???.・・・ の???を覚える

  3. https://plugins.jetbrains.com/plugin/13964-japanese-language-pack------/versions

  4. Versionの2022などの年は無視して、行ごとの先頭 ???.XXX の一致している物を探す

  5. ダウンロード

  6. インストールはメニュー File → Settings → プラグイン。歯車アイコンから disk

Android暗号化

https://developer.android.com/guide/topics/security/cryptography

lib https://developer.android.com/jetpack/androidx/releases/security

プロジェクトのgradle.buildに追加  https://developer.android.com/studio/build/dependencies#google-maven

AndroidSDKをUnityデフォルトを使うようにする

プレイヤー設定で、ビルドのカスタムGradleプロパティテンプレートにチェック

C:\MyUnityProject\Assets\Plugins\Android\mainTemplate.gradle に、AndroidStudioでのビルドと同様に参照追加

implementation “androidx.security:security-crypto:1.1.0-alpha03”

Android Studio ビルドログの文字化け

https://teratail.com/questions/256326

https://qiita.com/watanaby0/items/bc2459e03c81a4b708c7

Android Studio再起動が必要だった。

Android WifiDirect

discoverPeersによって所属ピアを得る時点ではオーナーは未決定で、誰かがconnectすると決定するようだ。

さらに

WIFI_P2P_CONNECTION_CHANGED_ACTION

はconnectするまで呼ばれない。

→接続処理中に他の人が接続しに来たらどうなるか

AndroidでBluetooth

https://developer.android.com/guide/topics/connectivity/bluetooth?hl=ja

記事通りしているが、Enableのイベントは来ない。

startDiscoveryの戻りがfalseにならない。

→旧スマフォはAndroid6だが、こっちだとアドレスが取れた。

API28で問題があるとのこと

https://stackoverflow.com/questions/56440201/target-sdk-28-and-bluetooth-connectivity-issue

ターゲットAPIレベルを27(Android8.1)にしたらアドレスが取れたので、とりあえずこれで行く

→WifiDirectで権限

ACCESS_FINE_LOCATION

が必要になるので、

ACCESS_COARSE_LOCATION

を削除したらとれるようになった。

→つまりAPI28の問題ではなく、権限が理由だった。

Android 6と10で動作の違い。

BluetoothのgetScanModeについて、6だと

SCAN_MODE_CONNECTABLE

にならず、初めから

SCAN_MODE_CONNECTABLE_DISCOVERABLE

になっているようだ。

10だとインテントで制限時間も含めて設定が必要。

Android Studioでビルドエラー。またはGradleのエラー

Gradleのアップデート

https://qiita.com/izuki_y/items/3c20cd1c655fc4fc6127

メニューのファイル→プロジェクト構造を開いて、提案の項目を全部更新。

ビルドが成功した後ももう一度見てみると増えていることがあった。

Android Studioが起動しない場合

大抵が日本語化によるものなので再度日本語化する。

https://mergedoc.osdn.jp/#pleiades.html#PLUGIN

それ以外はPowerShellなどで

C:\Program Files\Android\Android Studio\bin\studio.bat

を起動。エラーを見る。

日本語化解除

https://qiita.com/chocolatranran/questions/fa9ffa7b48331beb62e3

修正

2026/02/22 更新しました。主な内容は変わっていません。

top

その他の投稿

20260103-01 Unity Entities Tips
20251231-01 Unity UI Toolkit カスタムコントロールサンプル
20250913-01 Unity アプリで Android 16KB ページサイズ確認
20250912-01 Unity 6 で Editor がちらつく問題
20250906-01 Win10サポート終了 ChromeOS Flex を入れてみてつまづいた所
20250812-02 Unity UI Toolkit でのタップ操作検出
20250812-01 Unity UI Toolkit でマップ画面 with RenderTexture
20250811-01 Unity UI Toolkit での座標変換
20250721-01 Unityでカメラが平行投影の場合にScreenToWorldPointがズレる
20250712-01 Unity既存プロジェクトにURP追加