Android開發(fā)中查看未root真機的app數(shù)據(jù)庫

在Android開發(fā)中,如果用到數(shù)據(jù)庫來儲存數(shù)據(jù),那么難免就要查看數(shù)據(jù)庫中的內(nèi)容,可是對于未root的真機來說,查看數(shù)據(jù)庫就不是那么容易了,如果僅僅為了查看數(shù)據(jù)庫再把手機root了,有點得不償失,所以下面的就提供了一中不用root也可查看數(shù)據(jù)庫的方法,供需要的朋友參考。

  1. 進入adb所在的目錄,打開cmd窗口,輸入adb shell
  2. 繼續(xù)輸入run-as 應用的包名
  3. 然后輸入 cd databases
  4. 最后輸入ls查看數(shù)據(jù)庫的名字

截圖如下:


如圖,我的數(shù)據(jù)庫名字為 app.db,然后利用以下代碼把數(shù)據(jù)庫文件移動到我們可以訪問的文件夾下面

private void getDatabaseFiles(){
        //找到文件的路徑  /data/data/包名/databases/數(shù)據(jù)庫名稱
        File dbFile = new File(Environment.getDataDirectory().getAbsolutePath()+"/data/"+getPackageName()+"/databases/app.db");
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            //將數(shù)據(jù)庫文件復制到sd卡的根目錄
            fis = new FileInputStream(dbFile);
            fos = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath()+"/app_test.db");
            int len = 0;
            byte[] buffer = new byte[2048];
            while(-1!=(len=fis.read(buffer))){
                fos.write(buffer, 0, len);
            }
            fos.flush();

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //完成之后關(guān)閉輸入輸出流
            try {
                if (fos != null) fos.close();
                if (fis != null) fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

然后下一個可以查看數(shù)據(jù)庫文件的工具,就可以查看數(shù)據(jù)庫的內(nèi)容了。希望可以幫到你~

ps:自己開發(fā)了一個制作二維碼的小應用,有興趣的朋友可以試一試~ _ 創(chuàng)意二維碼制作

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容