2016-10-11 71 views
0

我正在創建一個Android應用程序,並且數據庫在卸載後仍然保留。當我卸載應用程序時,應用程序目錄被破壞(/ data/user/0/<名稱>),這很好。但是當我再次安裝應用程序時,數據庫將與舊數據一起恢復。Android - 手機完全擦除後,應用程序數據庫正在恢復

隨着應用程序的卸載,我會點擊安裝APK的Android Studio上的調試按鈕。我在我的應用程序類的第一行(擴展應用程序的第一行)上放置了一個斷點,並在該斷點被打開時,導航到/ data/user/0/<應用程序名稱>/databases文件夾並執行ls和DB在那裏。它甚至從來沒有命中我的數據庫類來初始化它。我很難過,不知道爲什麼這樣做。

下面是我試圖調試它迄今:

  1. 從手機下載的APK在安裝後,打開它,並尋找在那裏的數據庫。
  2. 在代碼中重命名數據庫,該數據庫使用正確的名稱創建新的數據庫文件,但仍舊創建舊數據庫。具有新名稱的數據庫在卸載後似乎不會持續存在。
  3. 我已經在數據庫文件名中搜索了我的計算機和手機的根目錄,而該數據庫文件名似乎並未顯示數據庫文件。
  4. 我通過重新安裝操作系統,植入設備,並將TWRP與出廠重置一起放在那裏,完全擦除了電話。
  5. 禁用即時運行。

我正在使用的手機是運行Android 7.0的Nexus 6p。
的Android Studio的信息:

的Android 2.2.1工作室
構建#AI-145.3330264,建於2016年10月6日
JRE:1.8.0_112釋放-B05 x86_64的
JVM:OpenJDK的64位服務器VM by JetBrains sro

tl; dr,我的應用程序數據庫在卸載/設備擦除後不斷回來。

回答

1

你有沒有試過把它添加到你的Android清單?

<application 
     android:allowBackup="false" 
     tools:replace="android:allowBackup"> 

記住它應該在應用程序標籤內。

+0

什麼是'tools:replace =「android:allowBackup」'? –

+0

這固定它!但是爲什麼在卸載/擦除後恢復它?它從哪裏得到數據庫? – Nick

+1

請參閱以下鏈接:爲什麼您需要工具:替換https://code.google.com/p/android/issues/detail?id=70073 它正在進行備份,因爲您沒有在表現。 – Bryan

相關問題