问题标签 [gomobile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 从 GoMobile 调用 JS 包?
我的理解是 ReactNative 将它的 JavaScript 编译成一个可用的 JS 包:http://localhost:8081/index.ios.bundle
GoMobile 中是否可以使用该 JS 捆绑文件呈现视图?
我试图弄清楚我是否可以将 Go 用于后端应用程序开发,并将 ReactNative 用于 UI,而无需绑定到 Swift/Java。
java - android gomobile 上的“不支持的标志 DT_FLAGS_1=0x9”错误
我在项目中进行的是一个使用 gradle 构建的 Cordova 项目。我创建了一个 android 插件,它以.aar
. 所有适用于简单的hello world.go
.aar
. 所以我知道一切正常。但是 在 adb logcat 中添加selphyprint.aar
它会崩溃并出现错误。"Unsupported flags DT_FLAGS_1=0x9"
它位于https://github.com/pbdesign/selphy。完整的项目位于https://github.com/pbdesign/printprojectcom.photobooth
,项目目录的 android 文件夹中有一个可安装的 apk 。
如果您有任何想法,我发现了一些与 android 链接器相关的类似错误消息,但不知道它们是否相关。也将不胜感激有关如何调试此类错误的任何想法。
android - gomobile 回调(将实时下载的内容转发到 android)?
我正在研究如何使用 gomobile 开发 android sdk,这是我的用例:
sdk 将处理文件下载并将其实时接收的内容发送到andoird,这怎么可能呢?
我尝试过这样的事情,返回一个 ReadCloser,然后 android 将从这个流中读取:
但是从编译的java类中,甚至没有这个方法,为什么?
我试图返回一个通道,但结果相同,而不是在目标 java 类中编译的事件。
有没有更好的方法来做到这一点?gomobile是否支持回调(go sdk调用android注册的这个回调)?我几乎找不到有关该回调用法的任何文档。
go - Gomobile 包中没有导出的名称
我正在尝试将以下代码与 gomobile 绑定以将其导出为 iOS 框架。我之前已经成功完成了此操作,但由于某种原因,当我运行 bind 命令时,以下代码给了我错误 gomobile: no exports names in package 。该代码在作为 go 脚本运行时有效。
有任何想法吗?谢谢!
go - Gomobile 绑定委托/回调行为
任何人都知道在导出到 iOS 时是否有可能使用 gomobile 绑定来实现某种委托行为?
即我有一个处理iOS应用程序网络请求的go库,我需要它异步完成,这样它就不会挂起应用程序。
解决方案是发送一个 objc 完成块(我认为这不会起作用,因为我找不到将 objc 代码发送回 go 函数的方法)或实现某种委托,以便应用程序可以知道何时请求已完成。我已经尝试了我能想到的一切......有什么想法吗?谢谢!
java - 无法让 gomobile 绑定与 java 一起使用
去版本:1.7.5
GOPATH = D:/GoWork
反应原生版本 0.41
下面的代码是D:\GoWork\src\rngo\rngo\rngo.go的绑定 go 包
很简单,只返回一个字符串
从 > D:\GoWork\src\rngo运行以下命令
下面的详细输出似乎很好
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\classes.go
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\classes.h
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\classes.c
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gen\src\Java\interfaces.go rngo/rngo
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\fakegopath\pkg\android_arm\rngo\rngo.a 写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675 \gomobile_bind\go_rngomain.go
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\go_main.go
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\androidlib\main.go
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\android\src\main\java\rngo\Rngo.java
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\java_rngo.c
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\rngo.h
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\android\src\main\java\go\Universe.java
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\android\src\main\java\go\error.java
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\java_universe.c
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\universe.h
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\seq_android.go
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\seq_android.c
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\seq.h
写 C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile_bind\seq.go
Java /C /Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile_bind 命令行参数 rngo/rngo Java
/C /Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile_bind 命令行参数 rngo/rngo Java
/C /Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile_bind 命令行参数 rngo/rngo Java
/C /Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile_bind
/# /C /Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile_bind
D:\Android\sdk\ndk-bundle\toolchains\x86_64-4.9\prebuilt\windows-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64 -linux-android/bin\ld: 警告:在搜索日志时跳过不兼容的 D:\Android\sdk\ndk-bundle\platforms\android-21\arch-x86_64/usr/lib/liblog.so
D:\Android\sdk\ndk-bundle\toolchains\x86_64-4.9\prebuilt\windows-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64 -linux-android/bin\ld: 警告:在搜索 dl 时跳过不兼容的 D:\Android\sdk\ndk-bundle\platforms\android-21\arch-x86_64/usr/lib/libdl.so
D:\Android\sdk\ndk-bundle\toolchains\x86_64-4.9\prebuilt\windows-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64 -linux-android/bin\ld: 警告:在搜索 c 时跳过不兼容的 D:\Android\sdk\ndk-bundle\platforms\android-21\arch-x86_64/usr/lib/libc.so
D:\Android\sdk\ndk-bundle\toolchains\x86_64-4.9\prebuilt\windows-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64 -linux-android/bin\ld: 警告:在搜索 dl 时跳过不兼容的 D:\Android\sdk\ndk-bundle\platforms\android-21\arch-x86_64/usr/lib/libdl.so
命令行参数
aar:AndroidManifest.xml
aar: proguard.txt
aar:classes.jar
罐子:META-INF/MANIFEST.MF
罐子:去/LoadJNI.class
罐子:去/Seq$GoObject.class
罐子:去/Seq$Proxy.class
罐子:去/Seq$Ref.class
罐子:去/Seq$RefMap.class
罐子:去/Seq$RefTracker.class
jar: go/Seq.class jar: go/Universe$proxyerror.class jar: go/Universe.class
罐子:去/error.class
罐子:rngo/Rngo.class
aar:jni/armeabi-v7a/libgojni.so
aar:jni/arm64-v8a/libgojni.so
aar: jni/x86/libgojni.so
aar: jni/x86_64/libgojni.so
aar: R.txt
aar:水库/
成功创建rngo.aar,因为没有错误消息,我可以在D:\GoWork\src\rngo\rngo.aar看到该文件
然后我从 android studio 手动将 rngo.aar 文件导入到 React Native 项目中
- 文件 > 新建 > 新建模块 > 导入 .aar/.jar 包 > #给出 rngo.aar 的路径#
- 文件 > 项目结构 > 应用程序 > 依赖项 > 模块依赖项 > rngo.aar
在 IDE 中,在 MainActivity.java 中我可以成功执行“import go.rngo.*;” ,但我无法获得“go.rngo.Rngo.RNcall()”或“go.rngo.Rngo;” 去工作
构建这个 android 应用程序会引发错误“找不到符号”
D:\RN\gomobile\android\app\src\main\java\com\gomobile\RngoModule.java:10:错误:找不到符号
导入 go.rngo;
^符号:rngo 类
位置:包 go
1 错误
:app:compileDebugJavaWithJavac FAILED
结论
我正在做一些非常错误的事情,我无法让这个简单的事情发挥作用。我在谷歌上浪费了一整天,但无济于事。因此,我需要帮助才能使其正常工作。我所需要的只是一个简单的 go 代码,它连接到响应本地 hasselfree。
感谢您阅读这一切。我很感激。
go - os.Create 和 os.Open 无法与 gomobile 一起使用并做出本机反应
上面的代码工作正常,代码的 javascript 方面也是如此。我一直err-CREATE-FILE
在我的 javascript 中接收。所以os.Create
并os.Open
没有按预期工作。
虽然是内部存储,不需要权限,但是我也在manifest文件中开启了权限,但是没有用。
Open
与Create
React Native 一起使用时,使用 gomobile 在 android 中使用文件的正确方法是什么?
更新:
在adb logcat
, 我 一直 得到 这个 到处
E/Vold ( 276): Failed to find mounted volume for /storage/sdcard1/Android/data/com.gotest/cache/
go - gomobile 命令错误“未设置 android NDK 路径”
我在 Windows 中使用 Go 版本 1.7.5,当我尝试使用 gomobile 命令安装或绑定或构建时。它显示此错误 -“gomobile:未设置 Android NDK 路径。请使用通过 Android SDK 管理器安装的 ndk-bundle 或设置 -ndk 标志运行 gomobile init。” 我已将 NDK 路径添加到系统变量 $PATH,甚至手动安装了 NDK,但错误仍然存在。谢谢你的时间 !!
android-studio - Gomobile toolchain out of date, only in Android Studio
I am working with the latest gomobile, Go, and Android Studio builds.
When I run the gradle tasks from the terminal they work as expected and build the correct binaries, however from within Android Studio I receive an error:
Of course I have re run gomobile init many times and no change. My assumption is that Android Studio is using some config that I can not identify.
I appreciate this is a somewhat edge case question, but if anyone can point me in the right direction it would be helpful.
TLDR; ./gradlew myproj:bind works fine in terminal, fails in Android Studio.
ios - 是否可以使用 gomobile 渲染/查看 html?
是否可以使用 gomobile 呈现 html 页面?我想生成一个 http 服务器,它在单独的 go runtine 中提供 html/css,然后在 webview 中呈现它。JavaScript 应用程序(即 PhoneGap、ReactNative 等)有很多选择,所以我想知道为什么 Go 几乎没有。