【#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文不足して,認証なカラクリが時々暴走してやがった(微汗
修正しましょう...

コメント
JR大阪駅近くの工事現場 下水道の管が地上部分にせり出したか
雷が鳴ってる!今年初の雷キター
【#イラン戦争】イラン最高指導者ハメネイ師が死亡 トランプ大統領 SNSに投稿
土砂降りじゃー 春の雨が降りまくってる
今週は天気が悪いっぽい.ようやっと雨が定期的に降りだした
【#花粉症】目が腫れてキターくしゃみも止まらん.いよいよ花粉もピークか?
【#衆議院選挙2026 】自民 316議席獲得 単独で3分の2超 中道は49議席
【#衆議院選挙2026 】自民単独で過半数大きく上回り300議席に達する可能性