java - gomobile如何在apk中嵌入资源

标签 java android go apk gomobile

使用 gomobile for Android 进行开发时。如何在 apk 文件中包含 Assets (html、js、图像)?我有一个在 apk 内运行的 Web 服务器,它在 apk 内运行,也可以在 go run 中运行,但是当打包在手机上的 apk 内时,服务找不到它的 Assets /静态文件。

最佳答案

您必须将 Assets 放在名为“assets”的目录中。

看这个例子:

https://github.com/udhos/fugo/tree/master/demo/invader/assets

然后你可以使用包golang.org/x/mobile/asset加载所需的 Assets :

import "golang.org/x/mobile/asset"

f, err := asset.Open("image.png")

示例代码取自 https://github.com/udhos/fugo/blob/master/demo/invader/main.go :

func loadFull(name string) ([]byte, error) {
    f, errOpen := asset.Open(name)
    if errOpen != nil {
        return nil, errOpen
    }
    defer f.Close()
    buf, errRead := ioutil.ReadAll(f)
    if errRead != nil {
        return nil, errRead
    }
    log.Printf("loaded: %s (%d bytes)", name, len(buf))
    return buf, nil
}

关于java - gomobile如何在apk中嵌入资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412762/

相关文章:

Java 套接字无法在 Android 上运行(ECONNREFUSED)

java - 如何删除所有 View 并重新添加?

android - 使用 jmDNS 注销 zeroconf 服务

android - 无法访问 genymotion 相机?

go - fyne的线程安全在哪里定义的?

java - 如何避免应用程序遭受 XSS 攻击?

java - Delphi 与 C++ Builder - 对于使用 Win32 的 Java 程序员来说,这是更好的选择

go - 如何测试光纤参数

java - 如何在 cassandra 中的集合文字内使用绑定(bind)变量 - InvalidQueryException

git - Go Get、Git 和依赖项