sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

Unity SQLite の使い方(補足)

Unity Android 環境における SQLite の使い方と初期化の基本」記事で、書ききれなかった補足的内容の記事です。

SQLite 利用する基本的なまとめは上記記事を参照ください。

f:id:shikaku_sh:20200206133654p:plain
SQLite

補足1 DLL ファイル 対応ビット数のチェック

Visual Studio のツール「Developer Command Prompt for VS 2019」を利用すればチェックすることが可能です。(Unity を利用していれば、Visual Studio を併用しているはず)

デフォルトのフォルダー

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools

コマンド

dumpbin /header ファイル名(sqlite3.dll)

FILE HEADER VALUES のところに (x64) とか (x86) というテキストが出力されています。

f:id:shikaku_sh:20200206132802p:plain:w500
x64
f:id:shikaku_sh:20200206132818p:plain:w500
x86

補足2 so ファイル 対応ビット数のチェック

readelf コマンドで同じく調べることが可能です。

Windows 環境だと readelf コマンドは標準では対応していないため、「MinGW」などを利用します。新しいところだと、「WSL」を経由してみてもよいと思います。

readelf -h ファイル名(libsqlite3.so)

so ファイルは、Class, OS/ABI, Machine などからファイルの配置間違いをチェックすることが可能ですね。

f:id:shikaku_sh:20200206133121p:plain:w500
ARM x64
f:id:shikaku_sh:20200206133139p:plain:w500
ARM x32

aar ファイル中身をチェック

これは「Unity Android 環境における SQLite の使い方と初期化の基本」記事でもすこし触れていますが、zip 形式なので簡単に解凍することが可能です。

含まれている so ファイルも上述の readlelf でチェックできます。(不要だと思いますが)

f:id:shikaku_sh:20200206133231g:plain:w500
中身がわかる

デバッグ

Android にアプリをインストールしてもうまく動かないことは多々あります。アプリケーションが簡単に落ちてしまうと面倒なので、前回くらいのテストアプリであれば、失敗した情報も表示させてあげるとデバッグがすこし楽かもしれません。

f:id:shikaku_sh:20200206133905p:plain:w500
DB ファイルが見つからないエラー

他にもうまく DB ファイルをコピーできないケースもありました。これは「no such table ... 」というエラーだったので、すこし困りました。

f:id:shikaku_sh:20200206134030p:plain:h500
調べてみると0バイトだった。(コピーに失敗してる)

参考

LinuxコマンドABCリファレンス

LinuxコマンドABCリファレンス

  • 作者:中島 能和
  • 発売日: 2018/03/01
  • メディア: 単行本(ソフトカバー)