【#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文不足して,認証なカラクリが時々暴走してやがった(微汗
修正しましょう...
コメント
【#RUANG】インドネシア:ルアング山で火山が大規模噴火:愛媛で震度6弱な緊急地震速報(24/4/18)
イオンモール宮崎の辺りにイノシシが登場した,らしい
コンビニ誤交付、富士通に行政指導 原因究明と再発防止を要求―総務省
【#桜】花立公園で桜見物してきた!都井岬まで足を伸ばした!遠かった(爆
【#大谷翔平】水原一平氏、米連邦検察が銀行詐欺容疑で訴追…大谷翔平選手の口座から24億5千万円以上を不正送金
【#緊急地震速報】宮崎県日南市で震度5弱 津波の心配なし M5.2(24/2/8)
ずっと天気が悪いのぉ.菜種梅雨とはよく言ったものやじ(24/4/5)
【#暴風警報】宮崎市に暴風警報発令(24/3/26)