나는이 문제를 해결할 수 있도록 관리 했으므로 다른 사람들이 도움이 될 경우에 대비하여 솔루션을 게시합니다.
이전에는 휴대 전화를 뿌리 뽑고 싶을 때마다 수퍼 유저 앱이 다운 된 Google apis없이 VM을 만들었습니다.
그래서 Google Play 및 다운로드 된 SQL 디버거 응용 프로그램과 함께 제공되는 VM을 만들었습니다. 테스트 스위트에서이 코드를 사용하기 때문에 실행하는 모든 테스트가 끝날 때 SD 카드에 db를 가져옵니다. 그렇게하면 수퍼 유저 권한이 필요하지 않습니다.
public static void copyDbToSd(Context context) {
File dbFile = context.getDatabasePath((String) DatabaseHandler.DATABASE_NAME);
InputStream myInput;
try {
myInput = new FileInputStream(dbFile);
OutputStream myOutput = new FileOutputStream(
Environment.getExternalStorageDirectory()
+ java.io.File.separator
+ "database.db");
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
} catch (FileNotFoundException e) {
Log.e(TAG, "Exception: ", e);
} catch (IOException e) {
Log.e(TAG, "Exception: ", e);
}
}
여기서 DatabaseHandler.DATABASE_NAME은 db를 만들 때 설정 한 데이터베이스의 이름입니다.
이 대답은 내가 대답을 업데이 트했습니다 –
:(이해하기에 너무 복잡하다. 당신은 아직도 내가 당신을 위해 –
그것이 메이트있어 :-) 무엇을 할 수 있는지 모른다 이해하지 않는 경우. 고마워요 :) –