【#Android】’Lolipop’以降で,cat使ってSQLite3ファイルを取得したらサイズ0の対策を見つけた
関連記事
- GoogleがAndroidの更新方針を変更 年1回から小刻みに 【2025年12月08日(月)】
- トランプ大統領スマホも別関税課す方針“除外発表していない” 【2025年04月14日(月)】
- 次期 #Android ではスマホで衛星と通信する――グーグル幹部がツイート 【2022年09月02日(金)】
- 【独自】3ヶ月で壊れる格安スマホ「AQUOS sense5G」不具合をシャープが認めて謝罪 【2022年01月25日(火)】
- 【#デジタル庁】新型コロナワクチン接種証明書アプリ:69900エラー出て証明書が表示されない(怒 【2021年12月20日(月)】
ってことで,現場で一通り動いていた機体が手元に
不具合一件発生ってことで,解析したいんじゃが,全てのデータは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文不足して,認証なカラクリが時々暴走してやがった(微汗
修正しましょう...

コメント
【#花粉症】目が腫れてキターくしゃみも止まらん.いよいよ花粉もピークか?
【#衆議院選挙2026 】自民 316議席獲得 単独で3分の2超 中道は49議席
【#衆議院選挙2026 】自民単独で過半数大きく上回り300議席に達する可能性
【BW55T】UPSが死んだ...ドロドロドロ😭これは人類滅亡間違いなし!なので発注(爆
広島カープの羽月隆太郎容疑者、「ゾンビたばこ」使用の疑いで逮捕
【#総選挙】衆議院選挙 きょう公示 12日間の選挙戦へ
青森 スノーモービル乗るため入山の約10人と連絡取れず 遭難か
【#不発弾】宮崎市中心部の不発弾 17日に処理 避難指示や交通規制予定(26/1/17)