提问人:Rory L. 提问时间:11/17/2023 最后编辑:Rory L. 更新时间:11/18/2023 访问量:48
使用 Rust 在 Android 应用中写入文件
Writing to files in Android Apps with Rust
问:
我有一个用 Rust 编写的游戏,并通过 ADB 在我的 Android 手机上运行。这是一个简单的游戏,我不想创建一个完整的身份验证系统,所以我只是尝试使用本地 .txt 文件来存储用户 ID。据我所知,写入应用的本地目录不需要任何特殊权限。cargo-apk apk run --target=armv7-linux-androideabi
我一直在疯狂地谷歌搜索,但我没有找到任何关于使用 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 应用程序中,这似乎非常简单:
FileOutputStream fileout=openFileOutput("mytextfile.txt", MODE_PRIVATE);
OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();
编辑:用于复制的存储库
答:
0赞
Rory L.
11/18/2023
#1
必须使用完整的文件路径。这条路对我有用:/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
评论
id.txt
assets/id.txt
rust.executor_android/id.txt
files/id.txt