有没有人以前使用过 gomobile 应用程序并成功在手机中创建文件?我在使用 Android 4.4.2 的 Galaxy S4 上尝试了以下代码:package mainimport ( "golang.org/x/mobile/app" "golang.org/x/mobile/event/lifecycle" "golang.org/x/mobile/event/paint" "os")func main() { os.Create("zzz.txt") app.Main(func(a app.App) { for e := range a.Events() { switch e := a.Filter(e).(type) { case lifecycle.Event: _=e case paint.Event: a.Publish() } } })}但是,手机中不会创建任何文件。我还尝试了一个名为“AnGoIde”的应用程序,它允许我们直接在Android中编写Go和编译,并且以下代码能够创建“zzz.txt”文件:package mainimport "os"func main(){ os.Create("zzz.txt")}最后,我想将所有错误保存在一个文件中,以便我可以查看导致我的应用程序崩溃的原因,而 AnGoIde 不支持许多软件包,因此我无法将其用于我的测试。有没有人以前用 gomobile 应用程序成功生成文件?ps 我试图将目录指定为“/storage/emulated/0/Go/”,这与我存储 apk 文件的位置相同,但不起作用。
1 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
要写入文件,您的应用程序需要某种形式的权限。
如果您没有创建一个AndroidManifest.xml
. 您可以gomobile
使用该-v
标志查看自动为您创建的文件内容。( gomobile build -v
)
在<manifest>
和</manifest>
标签之间添加以下行。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
再次构建应用程序。确保gomobile
使用该-v
标志使用您的清单文件。我能够通过os.Create("/sdcard/zzz.txt")
. 我也需要它来调试,所以我不介意写入特定位置,即我的 sdcard。当然,在您的手机中,位置可能会改变。
此外,如果您只需要一些日志,您可以安装 Android Debug Bridge 并使用adb logcat。从你的 Go 应用中过滤掉日志adb logcat | grep "I/GoLog"
是可行的。
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消