应用程序在运行时停止时如何查找错误?

时间:2018-05-09 08:48:42

标签: android sqlite backup logcat

我有一个Android应用程序,它具有将SQLiteDatabase导出到外部存储中的文件的功能。它在我的手机(Redmi 4X)上运行正常,但在其他手机(如三星SM-J105b)中,当我进行备份时它会崩溃。

这是我的备份代码:

private void backupDB() throws IOException {

    String backupDirectory = Environment.getExternalStorageDirectory() + "/FDRMobile/Backups/";
    File backupDir = new File( backupDirectory, "");
    if (!backupDir.exists()) {
        backupDir.mkdirs();
    }
    final String inFileName = "/data/data/com.scbpfsdgis.fdrmobile/databases/FEMobile.db";

    File dbFile = new File(inFileName);
    FileInputStream fis = new FileInputStream(dbFile);
    Date date = new Date();
    DateFormat df = new SimpleDateFormat("YYYY-MM-dd_HHMMSS", Locale.getDefault());

    String bakFile = "BAK_" + df.format(date) + ".db";
    this.backupFileName = bakFile;
    backupDirectory += bakFile;

    // Open the empty db as the output stream
    OutputStream output = new FileOutputStream(backupDirectory);

    // Transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = fis.read(buffer))>0){
        output.write(buffer, 0, length);
    }

    // Close the streams
    output.flush();
    output.close();
    fis.close();
}

我不知道如何编写logcat文本文件。

1 个答案:

答案 0 :(得分:0)

Android应用程序将正在运行的应用程序的日志存储在文件中。您可以使用以下步骤检索日志:

  1. 使用http://developer.android.com/tools/help/adb.html
  2. 安装Android Debug Bridge
  3. 安装Android Debug Bridge的说明位于: http://www.howtogeek.com/125769/how-to-install-and-use-abd-the-android- debug-bridge-utility
  4. 运行以下命令: “adb logcat -c”(这会清除日志。)
  5. 重现问题。
  6. 然后,运行以下命令捕获文件中的日志: “adb logcat -d> Name_of_Log_File.txt“