0

我正在做一个项目,我需要使用gomobile工具从 Golang 代码库生成一个 APK 文件。计划是能够在 android 平板电脑上运行它。当我在平板电脑上安装 apk 文件时,通过 Android Studio 我收到以下错误。

 E/Go: panic: open C:/Users/ash/OneDrive/Desktop/go-workSpace/src/Myproject/config.json: no such file or directory

但是,在单击错误消息中的给定路径后,Android Studio 会打开它抱怨查找的文件 (config.json)

这是我在 Go 中的源代码

exDir := "C:/Users/ash/OneDrive/Desktop/go-workSpace/src/Myproject/"    
configFile, err := ioutil.ReadFile(filepath.Join(filepath.Dir(exDir), "config.json")) // Look for the config file in the same directory as the executable
    
Check(err)

func Check(err error) {
    if err != nil {
        fmt.Println("Received generic error, panicking")
        fmt.Println(err)
        panic(err)
    }
}

任何建议如何修复文件路径?

4

1 回答 1

0

在审查了这个线程之后。这是官方的支持页面。所以,我想我需要

  1. 将所有文件移动到一个名为assets的目录中。
  2. assets目录嵌入到“ .APK”中,可以通过 Android 代码库访问。
import "golang.org/x/mobile/asset"  

jsonFile, errOpen := asset.Open(config.json)
if errOpen != nil {
    fmt.Println(errOpen)
}
defer jsonFile.Close()
buf, errRead := ioutil.ReadAll(jsonFile)
if errRead != nil {
    fmt.Println(errRead)
}
于 2021-07-06T15:40:54.407 回答