尝试为我的应用程序的冷启动获取traceview转储。
我添加了WRITE_EXTERNAL_STORAGE权限并拥有
我的Application类的Debug.startMethodTracing("xyz")
中的onCreate
。
我的应用与Permission denied
02-27 17:48:06.173 3395-3395/: Unable to open trace file '/storage/emulated/legacy/xyz.trace': Permission denied
02-27 17:48:06.174 3395-3395/E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to create application (...): java.lang.RuntimeException: Unable to open trace file '/storage/emulated/legacy/xyz.trace'
编辑1:我在运行Lollipop的真实Nexus 6设备上执行此操作
解决方案:
因此,某些库可能会覆盖写入外部存储权限。我将其添加到AndroidManifest.xml并开始工作
强调工具:node ="替换"
答案 0 :(得分:0)
WRITE_EXTERNAL_STORAGE被归类为"危险"权限,需要在运行时请求。在清单文件中声明它是不够的。请参阅文档here。
答案 1 :(得分:0)
String[] PERMISSIONS = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
if (!BaseActivity.hasPermissions(getContext(), PERMISSIONS)) {
ActivityCompat.requestPermissions(getActivity(), PERMISSIONS, 12300);
}
您需要启用运行时权限,在onCreate中运行此代码。
答案 2 :(得分:0)
因此,某些库可能会覆盖写入外部存储权限。
我将此添加到AndroidManifest.xml
并开始工作
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>
**强调工具:node =“replace”**