環境 [OS] Windows 11 Home [Unity Editor] 2021.3.41f1 [SQLite] 3.41.2 [Android] 13 課題 UnityでAndroid向けのゲーム制作をしています。 ゲーム内のDBはSQLiteを使用。(費用をかけられない個人開発なので、従量課金のFirebaseは候補から除外) ライブラリはここにある「Plugins」をダウンロードし、.meta 以外のファイルをUnityの[Assets]-[Plugins]に格納。(.meta はUnityが自動作成するファイルなので) しかし、上記にはARM64用のライブラリが入ってなかったので、仕方なくビルド時に下記チェックを外していました。 (A) [File]-[Build Settings]-[Android]-[Player Settings]-[Other Settings]-[Configuration] [Scripting Backend]で"IL2CPP"を選択した上で、[ARMv7]のみONで、[ARM64]はOFF 出来上がった App Bundle を Google Play Console にアップロードすると、ARM64未対応のアラートが出ます。 解決 ここにある libsqlite3.so のみをUnity Editorから下記へDrag & Drop。(metaファイルは不要) Assets/Plugins/Android/libs/arm64-v8a/libsqlite3.so 上記(A)の[ARM64]をONにして再ビルド。 これでPlay Consoleに上げることもでき、SQLiteの処理も動くようになりました。 参考 SQLite and Unity ...
Unity Hubで個人開発ライセンスを追加できない
環境 [OS] Windows 11 Home [Unity Hub] 3.8.0 [Unity Editor] 2021.3.41f1 エラー内容 課題 Unity HubやUnity Editorで設定をいじりすぎて、ライセンスエラーが出るようになった。 No active licenses To create and open projects, you need an active license. 下記の手順を踏んでライセンス追加をしようとしても何も起きない。 [Manage licenses]-[Add]-[Get a free personal license]-[Agree and get personal edition license] 解決策 「管理者として実行」でUnity Hubを起動したら解決しました。 下記の参考記事で権限が原因っぽかったので、試しにやったら成功しました。 但し、Unityは管理者権限での実行は推奨してないようなので、自己責任でお願い致します。 参考 Unable to activate Unity Personal License on fresh email. ...
VMでシンボリックリンクが作成できない(自動マウントOFFでmountコマンドを使用している場合)
環境 [Host OS] Windows 11 Home [Oracle VM VirtualBox] 7.0.18 [Gust OS] Ubuntu 22.04.4 LTS 前提 Virtualboxの[設定]-[共有フォルダー]で共有フォルダーの設定はあるが「自動マウント」はOFF。 VM(Gust OS)側で起動時にマウントする設定になっている。(本来は/etc/fstabでやるべきですが上手くいかなかったので下記で代替) # cat ~/.bashrc|grep mount mount -t vboxsf share /share 内容 課題 NextJSのインストール時にシンボリックリンク作成でエラー。 # npm install --save react react-dom next : (中略) : npm error code EPERM npm error syscall symlink npm error path ../@mapbox/node-pre-gyp/bin/node-pre-gyp npm error dest /apps/simple-flashcard-nextjs/node_modules/.bin/node-pre-gyp npm error errno -1 npm error Error: EPERM: operation not permitted, symlink '. ...
大量ファイルをgit pushする際のエラー回避3パターン
環境 [OS] Ubuntu 22.04.4 LTS [Git] 2.34.1 エラー1回目(Bitbucket) 課題 Bitbucketにソースをpushしようとしたらエラーが起きました。 # git push origin master : (中略) : Counting objects: 100% (1244/1244), done. Delta compression using up to 2 threads Compressing objects: 100% (1232/1232), done. client_loop: send disconnect: Broken pipeiB | 5.36 MiB/s send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly 解決策 ページ末尾の*aを実行しつつ、バッファサイズを適当に増やしたら直りました。 # git config --global http. ...
AndroidStudioでSQLiteを扱う
0.環境 PC側 [OS] Windows11 (64bit 版) [Android Studio] Giraffe 2022.3.1 Patch 1 スマホ側 [OS] Android 13 [SQLite] 3.32.2 1. 手順 気付いたらAndroidStudioでAndroidアプリ内のSQLiteを操作できるようになってたので、UIについてメモしておきます。 (1) テスト端末名(Android実機) (2) App Inspectionをクリック (3) テスト端末名 (4) Database Inspectorを選択 (5) 新しいクエリをクリック (6) アプリ内で使用しているDBを選択 (7) SQL文を記載 (8) Runをクリック (9) SQLの結果が表示されます (10) またテーブル名をダブルクリックすると、 (11) タブが開きレコードを参照できます ...
AdMob広告にコンテンツが被ったという警告を回避
0. 環境 [OS] Android 13 (その他) 1. 課題 AdMobからの警告 AdMob管理画面の「ポリシーセンター」で下記の警告が上がりました。 Google が配信する広告の前面に重なって表示されるコンテンツの扱い AdMobに登録済みのメアドにも、同内容のメールが届いていました。 (「広告配信が中断されないよう、早急にご対応をお願いいたします」という文面で修正までの猶予は確か2-3週間) 2. 対策 下記2点を対応後「ポリシーセンター」から承認依頼したところ、警告は数日で止まりました。 (1) 広告の上下に十分なスペースを確保。 (2) 広告を囲む要素の高さを予め固定しておく。 それによって、広告のロード後にAdViewの高さがビョンと伸びて、下にあるListViewなどが押し下げられるのを防ぎます。 僕のアプリではAdViewを内包するLinearLayoutに「android:layout_height=“65dp”」を設定しました。(高さ65dpのバナー広告のみを対象としているため) x. 参考リンク 具体的な修正方法が分からず手探りでしたが、下記の規約に抵触したと思われます。 コンテンツに重なった広告(ポリシー違反) ...
CentOS7にMySQL5.1.7インストール
0. 環境 [OS] CentOS7 (x86_64) 1. 手順 元々入ってるMariaDBは競合を起こすので削除。 # yum remove mariadb-libs # rm -rf /var/lib/mysql/ インストール(サーバー、クライアントの順) # yum localinstall http://dev.mysql.com/get/MySQL-server-community-5.1.73-1.rhel5.x86_64.rpm # yum localinstall http://dev.mysql.com/get/MySQL-client-community-5.1.73-1.rhel5.x86_64.rpm # mysqld --version mysqld Ver 5.1.73-community for unknown-linux-gnu on x86_64 (MySQL Community Server (GPL)) 他のバージョンはここで調べて、http://dev.mysql.com/get/ の後につなげてダウンロードして下さい。 ...
【Apex】アバストによる起動時エラー
0. 環境 [OS] Windows11 1. 課題 ゲームApexが急に起動しなくなりました。 「起動時エラー」メッセージの下にファイルパスが記載され、確か、Invalid file pathとなってたと思います。 調べてみると、指定されたその実行ファイルへのパスが存在してませんでした。(消された?) 2. 対策 下記の情報を順に行うことで回復しました。 Avastがマルウェアと間違えてチェスト(検疫)に移動してしまったようです。これを元の場所に戻してください。 Apex Legendsが起動できない場合 それだけだとダメでした。 おそらく、起動ファイルがない状態で何度も起動しようとしたため、ファイルの整合性がおかしくなったようです。(たぶん) 下記の「対処法①APEXを修復する」を実施して下さい。 Apex エンジンエラーの対処法 「ファイルを再取得します」という旨のメッセージが出たまま、何も動きがなかったので、下記ページの内容を確認したところ修復は完了してました。 ファイルの再取得はどうやって? これで直りました。 ...
【Next.js】ハイフンを含むクエリ文字列
0. 環境 [Next.js] 12.0.10 1. 課題 既存システムのリプレースなどで、どうしてもハイフンを含むQueryStringをNext.jsで扱わなければならない場合。 (例) https://example.com/index?user-id=100 この書き方だと const { query: { user-id }, } = req; エラーになります。 Error: error: Expected ',', got '-' | 22 | query: { user-id }, | ^ Caused by: 0: failed to process js file 1: Syntax Error 2. 対策 これで回避できました。 const userId = req.query['user-id']; ...
Android APIレベル31対応
0. 環境 [Host OS] Windows 11 Home 1. 手順 Playストアの規約変更があったので、AndroidアプリのSDKバージョンを31に上げました。 (アプリルート)/mobile/build.gradle 抜粋 (diff) android { - compileSdkVersion 30 + compileSdkVersion 31 defaultConfig { - targetSdkVersion 30 + targetSdkVersion 31 } 2. ビルドエラー (2-1) ビルドと実機へのインストールでエラーが発生 エラー内容 Installation did not succeed. The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED Installation failed due to: 'null' (2-2) マニフェスト修正 <intent-filter>を使っているActivityなどに「android:exported=“true”」が必要になったようです。 (デフォルト値が変わったため、今までと同じにするには、この指定が必要) (アプリルート)/mobile/src/main/AndroidManifest.xml ...