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

コメント
広島カープの羽月隆太郎容疑者、「ゾンビたばこ」使用の疑いで逮捕
【#総選挙】衆議院選挙 きょう公示 12日間の選挙戦へ
青森 スノーモービル乗るため入山の約10人と連絡取れず 遭難か
【#不発弾】宮崎市中心部の不発弾 17日に処理 避難指示や交通規制予定(26/1/17)
【総選挙】立民 公明 衆院選に向け新党結成で合意(26/1/15)
【大雪】大雪と雷及び突風に関する全般気象情報 第3号(26/1/1)
ブルーレイはオワコン? ソニー生産終了が意味する「次世代メディア」の失敗
ビジネスホテルで火事 1人遺体で見つかる 宿泊客4人けが 水戸
【#ドラセナ】御神木たる幸福の木(ドラセナ):花芽がほころびだした!すごい香りで部屋が満たされてる!