有没有办法只在调试模式下在外部存储上写入数据库?我的意思是:
我已经有了必要的代码来知道我是否在调试中,所以我已经可以了:
private static final String DATABASE_NAME = "track.db";
public DatabaseHelper(Context context) {
super(context,
Utils.isDebug(context) ?
Utils.getAppExtDir() + File.separator + DATABASE_NAME :
DATABASE_NAME,
null,
DATABASE_VERSION,
R.raw.ormlite_config);
}
所以我想在调试时只需要权限:
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
答案 0 :(得分:0)
您是否有关于如何定义调试源集的链接?
tools site's coverage of Gradle for Android中介绍了它。
创建一个app/src/debug/
目录并在其中放置AndroidManifest.xml
。当您进行main
构建时,根据the manifest merger rules,该清单的内容将与debug
源集中的清单内容合并。对于release
构建,它将被忽略。
因此,原则上,如果您的debug
源集的清单中只有您想要调试的<uses-permission>
元素,则该内容应该合并。
我很乐意承认我没有试过这个,所以虽然文档表明它应该可行,但可能存在阻止它工作的错误(在Gradle for Android或docs中)。