【#Android】’Lolipop’以降で,cat使ってSQLite3ファイルを取得したらサイズ0の対策を見つけた
関連記事
- 次期 #Android ではスマホで衛星と通信する――グーグル幹部がツイート 【2022年09月02日(金)】
- 【独自】3ヶ月で壊れる格安スマホ「AQUOS sense5G」不具合をシャープが認めて謝罪 【2022年01月25日(火)】
- 【#デジタル庁】新型コロナワクチン接種証明書アプリ:69900エラー出て証明書が表示されない(怒 【2021年12月20日(月)】
- 総務省、Pixel 6を『技適不適合等機器』として告知 緊急通報できない不具合 【2021年11月22日(月)】
- 【#android10】BOOT_COMPLETED周りの仕様が変わって,機体起動時のアプリ自動起動がメンドクサイことになっている 【2021年11月02日(火)】
ってことで,現場で一通り動いていた機体が手元に
不具合一件発生ってことで,解析したいんじゃが,全てのデータはSQLite3なデータベースの中
adb shellに入り込んで
run-as com.hogehoge.hunyara cat databases/hunyara01.db > /storage/sdcard0/DCIM/hunyara01.db
とかやってSQLite3ファイルを抜き出すのは王道じゃけど,これやってもDCIM/hunyara01.dbはサイズ0
SDカードが取り付けられない機種なんですわ
仕方ないってことで内部SDエミュブロックに吐き出しているんじゃけど,だから0サイズなのかね...。・゚・(ノД`)・゚・。
手がないっちゃろか??と調べていったら
ADBコマンドを使って一発で端末のアプリ領域からファイルを取得する@Qiita
Android5@Lolipopから,catコマンドの仕様が変わって,↑のやり方だと0サイズしか出力されんとのこと(なんとっ!
上記URL先では,perlコマンド使えって書いてあるけど,MacはOKでWindowsはNGって書いてある(´・ω・`)
ならってことで,さらに調べていったら...
stack overflowに答えが書いてあった!
android adb, retrieve database using run-as@stack overflow
「adb exec-out」コマンドを使えばいいそうな
adb exec-out run-as package.name cat databases/file > file
だそうで
うちの一番上のサンプルを書き直してみた
adb exec-out run-as com.hogehoge.hunyara cat databases/hunyara01.db > c:\aaa.db
データベースファイル壊れもせず,きれいに取れて,中身が見れた(;´Д`)ハァハァ
ってことで,データベースにSQL文ぶん投げて,不具合原因調査,予想通り
とあるブロックのif文不足して,認証なカラクリが時々暴走してやがった(微汗
修正しましょう...
コメント
【#大相撲】 横綱 照ノ富士 引退の意向を固める
【#日向灘地震】割れ残り部が依然健在じゃし.怖いわなぁ
【#大地震】宮崎に大地震キタ━(゚∀゚)━!!(25/1/13)
【#大雪】宮崎市に降雪予報キター(25/1/11)
【#2025】あけおめ~ 2025年が始まったらしい...ドロドロドロ
2024年が終わりますなぁ 1年ありがとうございました
ついに宮崎市も氷点下気温キター(24/12/23)