Sqlite 复制数据库文件时出错

Sqlite 复制数据库文件时出错,sqlite,root,cp,busybox,Sqlite,Root,Cp,Busybox,DBhelper.java String gaanaDB = "/data/data/com.xyz/databases/DB"; String converterDB = "/data/data/com.abc/databases/DB"; Runtime.getRuntime().exec("su"); Runtime.getRuntime().exec("busybox cp -f " + gaanaDB + " " + converterDB); 当我尝试访问数据库时,它没有抛出这样的

DBhelper.java

String gaanaDB = "/data/data/com.xyz/databases/DB";
String converterDB = "/data/data/com.abc/databases/DB";
Runtime.getRuntime().exec("su");
Runtime.getRuntime().exec("busybox cp -f " + gaanaDB + " " + converterDB);
当我尝试访问数据库时,它没有抛出这样的表

我在Shell Commander应用程序中尝试过这个命令,它工作得非常好。 但是当我尝试在我的应用程序中使用它时,它不会复制数据库中的表


已安装根Kitkat和BusyBox。

首先尝试创建表:

package com.aks.gaanaconverter.util;
import android.content.Context; 
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "GaanaDB";
private static final String TABLE_NAME = "table_track_metadata";
private static final String ID = "track_id";
private static final String NAME = "track_name";
private static final String HAS_DOWNLOADED = "has_downloaded";
private static final int HAS_DOWNLOADED_VALUE = 1;

public DBHelper(Context context) {
    super(context, DATABASE_NAME, null, 6);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase arg0) {
    // TODO Auto-generated method stub
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
    // TODO Auto-generated method stub

}

public Cursor getData() {
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor res = db.rawQuery("select " + ID + "," + NAME + " from "
            + TABLE_NAME/*
                         * +" where "+HAS_DOWNLOADED+"="+HAS_DOWNLOADED_VALUE
                         */, null);
    return res;
}
}

您可以发布输出或收到的错误吗?这是错误:android.database.sqlite.SQLiteException:没有这样的表:table\u track\u元数据代码1:,编译时:选择track\u id,track\u name from table\u track\u metadatabase但我正在从其他文件夹复制该数据库,然后我也需要创建它?它正在创建空表。。。但是我没有我的数据,我正试图使用超级用户复制原始数据库中的哪种类型的文件?它是sqlite db n类型,即扩展名是文件,请参阅此答案完全适用于您的情况:祝您好运
 public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE if not exists table_track_metadata(track_id INTEGER PRIMARY KEY AUTOINCREMENT,"
            + "track_name"
            + " TEXT,"...)");

}