我有一个用Rust编写的游戏,通过ADB使用cargo-apk apk run --target=armv7-linux-androideabi
在我的Android手机上运行。这是一个简单的游戏,我不想创建一个完整的身份验证系统,所以我只是尝试使用本地.txt文件来存储用户ID。据我所知,写入应用的本地目录不需要任何特殊权限。
我一直在谷歌上疯狂搜索,但我还没有找到任何关于使用Rust写入Android文件系统的具体信息。
我得到一个错误Read-only file system (os error 30)
。
match std::fs::write("id.txt", "123456") {
Ok(_) => { Log::warn("SUCCESS WRITING ID"); }
Err(e) => { Log::warn(format!("ERROR WRITING ID: {}", e)); }
}
字符串
在Java/Kotlin apps中看起来很简单:
FileOutputStream fileout=openFileOutput("mytextfile.txt", MODE_PRIVATE);
OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();
1条答案
按热度按时间zpjtge221#
必须使用完整的文件路径。此路径对我有效:
/data/data/rust.executor_android/files/id.txt
感谢@blackapps,
/data/data/<packagename>/files/id.txt
个/storage/emulated/0/Documents/id.txt
个/storage/emulated/0/Android/data/<packagename>/files/id.txt
个