我正在尝试使用 NDK 将文件写入 sdcard,但它总是给我权限被拒绝。其他人也看到了同样的问题,我不知道如何解决这个问题。这是代码
void test() {
FILE *file = fopen("/sdcard/test.txt", "w+");
if (nullptr != file) {
fputs("hello, world\n", file);
fclose(file);
} else {
__android_log_print(ANDROID_LOG_VERBOSE, "test", "FAIL with %d", errno);
}
printf("done!");
}
日志:
2023-04-04 17:06:11.755 31824-31824/com.example.readfilenative V/test: FAIL with 13
清单:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:requestLegacyExternalStorage="true"
android:dataExtractionRules="@xml/data_extraction_rules"
摇篮
android {
namespace 'com.example.readfilenative'
compileSdk 33
defaultConfig {
applicationId "com.example.readfilenative"
minSdk 24
targetSdk 33
versionCode 1
versionName "1.0"
我不能降到28,我想用33。
我正在看这个帖子:
如何解决OS Error: Permission denied, errno = 13 in flutter
安卓工作室版
Android Studio Electric Eel | 2022.1.1 Patch 2
Build #AI-221.6008.13.2211.9619390, built on February 16, 2023
Runtime version: 11.0.15+0-b2043.56-9505619 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1792M
Cores: 16
Registry:
external.system.auto.import.disabled=true
ide.text.editor.with.preview.show.floating.toolbar=false
cidr.max.intellisense.file.length=1000000
Non-Bundled Plugins:
com.intellij.plugins.visualstudiokeymap (221.6008.15)
GLSL (1.21)
有什么线索可以绕过这个问题吗?系统用户界面上肯定启用了权限。
谢谢。