我正在創建一個Android應用程序,並且數據庫在卸載後仍然保留。當我卸載應用程序時,應用程序目錄被破壞(/ data/user/0/<名稱>),這很好。但是當我再次安裝應用程序時,數據庫將與舊數據一起恢復。Android - 手機完全擦除後,應用程序數據庫正在恢復
隨着應用程序的卸載,我會點擊安裝APK的Android Studio上的調試按鈕。我在我的應用程序類的第一行(擴展應用程序的第一行)上放置了一個斷點,並在該斷點被打開時,導航到/ data/user/0/<應用程序名稱>/databases文件夾並執行ls和DB在那裏。它甚至從來沒有命中我的數據庫類來初始化它。我很難過,不知道爲什麼這樣做。
下面是我試圖調試它迄今:
- 從手機下載的APK在安裝後,打開它,並尋找在那裏的數據庫。
- 在代碼中重命名數據庫,該數據庫使用正確的名稱創建新的數據庫文件,但仍舊創建舊數據庫。具有新名稱的數據庫在卸載後似乎不會持續存在。
- 我已經在數據庫文件名中搜索了我的計算機和手機的根目錄,而該數據庫文件名似乎並未顯示數據庫文件。
- 我通過重新安裝操作系統,植入設備,並將TWRP與出廠重置一起放在那裏,完全擦除了電話。
- 禁用即時運行。
我正在使用的手機是運行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,我的應用程序數據庫在卸載/設備擦除後不斷回來。
什麼是'tools:replace =「android:allowBackup」'? –
這固定它!但是爲什麼在卸載/擦除後恢復它?它從哪裏得到數據庫? – Nick
請參閱以下鏈接:爲什麼您需要工具:替換https://code.google.com/p/android/issues/detail?id=70073 它正在進行備份,因爲您沒有在表現。 – Bryan