我试图将文件写入“ / mnt / sdcard”路径,并返回错误。使用普通的fopen(“ new.txt”,“ w”)在JNI层(C ++)上的代码
并且也尝试对“ / mnt / sdcard / Android / data /”进行相同操作,甚至失败。
设备:Android Q Beta4
fopen(“ / mnt / sdcard / new.txt”,“ w”) fopen(“ / mnt / sdcard / Android / data / new.txt”,“ w”)
我们已经在Android开发者页面上参考了Android Q的存储限制。
用于存储公共信息的路径?
答案 0 :(得分:2)
应用程序无法将数据存储在Android Q(默认情况下)或Android R(对于所有应用程序)的外部或可移动存储中的任意位置。您碰巧正在使用NDK的事实并不能改变这一点。
您的Java代码应该传递一个有效的文件系统路径,以供您的NDK代码使用(例如,getExternalFilesDir()
上的Context
)。