当前位置: 首页 > 知识库问答 >
问题:

无法获得gommobile绑定到java工作

房子昂
2023-03-14

Go版本:1.7.5

GOPATH=D:/GoWork

React本机版本0.41

下面的代码是位于D:\GoWork\src\rngo\rngo\rngo的绑定go包。去

非常简单,只返回一个字符串

package rngo

// RNcall is used to bind with RN
func RNcall()  string {
    return "From Go platform"
}

从运行以下命令

gomobile bind -target android -o rngo.aar -v  .

下面的详细输出似乎很好

写C:\用户\薄荷\AppData\本地\Temp\gommobive-work-855641675\gomobile_bind\classes.go

编写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\classes。H

编写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\classes。C

写C:\用户\明蒂\AppData\本地\Temp\gommobive-work-855641675\gen\src\Java\interfaces.gorngo/rngo

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\fakegopath\pkg\android\u arm\rngo\rngo。写入C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\go\u rngomain。去

写入C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\go\u main。去

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\androidlib\main。去

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\android\src\main\java\rngo\rngo。JAVA

写C:\用户\薄荷\AppData\本地\Temp\gommobive-work-855641675\gomobile_bind\java_rngo. c

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u 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\u bind\java\u universe。C

写C:\用户\薄荷\AppData\本地\Temp\gommobive-work-855641675\gomobile_bind\universe. h

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\seq\u android。去

写C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\seq\u android。C

写入C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\seq。H

写入C:\Users\Minty\AppData\Local\Temp\gomobile-work-855641675\gomobile\u bind\seq。去

Java/C/Users/Minty/AppData/Local/Temp/gomobile-work-855641675/gomobile\u 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\u bind

D:\Android\sdk\ndk bundle\toolschains\x86\u 64-4.9\prebuild\windows-x86\u 64/lib/gcc/x86\u 64-linux-Android/4.9。x/../../../../..//x86\u 64-linux-android/bin\ld:警告:跳过不兼容的D:\android\sdk\ndk bundle\platforms\android-21\arch-x86\u 64/usr/lib/liblog。所以在搜索日志时

D:\Android\sdk\ndk bundle\toolschains\x86\u 64-4.9\prebuild\windows-x86\u 64/lib/gcc/x86\u 64-linux-Android/4.9。x/../../../../..//x86\u 64-linux-android/bin\ld:警告:跳过不兼容的D:\android\sdk\ndk bundle\platforms\android-21\arch-x86\u 64/usr/lib/libdl。所以在搜索dl时

D:\Android\sdk\ndk bundle\toolschains\x86\u 64-4.9\prebuild\windows-x86\u 64/lib/gcc/x86\u 64-linux-Android/4.9。x/../../../../..//x86\u 64-linux-android/bin\ld:警告:跳过不兼容的D:\android\sdk\ndk bundle\platforms\android-21\arch-x86\u 64/usr/lib/libc。所以在搜索c时

D:\Android\sdk\ndk bundle\toolschains\x86\u 64-4.9\prebuild\windows-x86\u 64/lib/gcc/x86\u 64-linux-Android/4.9。x/../../../../..//x86\u 64-linux-android/bin\ld:警告:跳过不兼容的D:\android\sdk\ndk bundle\platforms\android-21\arch-x86\u 64/usr/lib/libdl。所以在搜索dl时

命令行参数

aar:AndroidManifest。xml

AAR:proguard.txt

aar:课程。罐子

jar:META-INF/MANIFEST。MF

JAR: go/LoadJNI. class

jar:go/Seq$GoObject。班

jar:go/Seq$Proxy。班

jar:go/Seq$Ref.class

jar:go/Seq$RefMap。班

JAR: go/Seq$RefTracker.class

jar:go/Seq。类jar:go/Universe$proxyerror。类jar:go/Universe。班

jar:go/error。班

jar:rngo/rngo。班

aar:jni/armeabi-v7a/libgojni。所以

AAR: jni/arm64-v8a/libgojni.so

aar:jni/x86/libgojni。所以

AAR: jni/x86_64/libgojni.so

AR: R. txt

aar:res/

已成功创建rngo。aar,因为没有错误消息,我可以在D:\GoWork\src\rngo\rngo处看到该文件。aar

然后手动导入rngo。将aar文件从android studio导入React本机项目

  1. 文件

在IDE内部,在MainActivity中。java我可以成功地完成“导入go”。rngo.*.',但我不能去。兰戈。兰戈。RNcall()或“go”。兰戈。Rngo;'工作

构建此android应用程序时抛出错误“找不到符号”

D:\RN\gomobile\android\app\src\main\java\com\gomobile\RngoModule。java:10:错误:找不到符号

进口去吧。rngo
^

符号:类rngo
位置:包go
1错误
应用程序:CompiledBugJavaWithJavaC失败

结论

我做错了一件可怕的事情,我无法让这件简单的事情运作起来。我在谷歌上浪费了一整天,但没有用。因此,我需要帮助使这项工作。我所需要的只是一个简单的go代码,它连接到react native hasselfree。

谢谢你阅读这些。我很感激。

共有1个答案

姜志
2023-03-14

多亏了埃利亚斯纳尔。最后,我让它工作了。从go 1.7开始。*您没有访问go软件包的权限。而是像这样直接访问您的包

之前:

import go.rngo.Rngo;

之后:(自1.7.*起)

import rngo.Rngo;
 类似资料:
  • 当我试着运行appium时,突然遇到了这个错误。 错误:处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:“Command”C:\Users\vsingh\AppData\Local\Android\Sdk\platform tools\adb。exe-P 5037-s emulator-5554转发tcp:8200 tcp:6790'已退出,代码为1';斯特德:亚行

  • 问题内容: 如果我在下面的代码中将type设置为’GET’,则可以使用,但无法将其与’POST’一起使用。 ajaxPostTest.html … ajaxPostTest_server.php … 浏览器上的预期输出为… 我实际上是在尝试与ASP.NET Web服务器进行交互,并且我想先确认我的ajax是否可以正常工作(并且我对ajax的理解正确),因此可以简化此代码。 Firebug调试… 我

  • 我在使用pymongo进行mongodb聚合时遇到了< code >聚合结果超过最大文档大小(16MB)错误。 起初,我使用< code>limit()选项克服了这个问题。然而,在某个时候,我得到了 好的,我将使用 选项。当我在命令行上使用它时,此选项有效,但是当我尝试在我的 python 代码中使用时,此选项有效 我得到< code>TypeError: aggregate()正好接受2个参数(

  • 我正在使用spring boot 2.0.0.M2遵循Simon Basle的“Reactor by example”中的代码。它就像一个魅力。但是,当我试图将path变量绑定到Mono并发送请求http://localhost:8080/monohello/hero时,它的响应如下:

  • 问题内容: 我在ubuntu 14.04.02上,已安装和更新了python,cython和numpy。我从http://github.com/itseez/opencv提取了最新的open cv来源,根据文档进行了编译…当尝试运行从https://github.com/shantnu/FaceDetect提取的python来源时/ 这给了我以下错误: modprobe:致命:找不到模块nvidi

  • 我的代码只有在我删除限制函数时才有效,我做错了什么? 错误为: TypeError:批量。查找(…)。limit不是D:\nodeprojects\mysite\server上的函数。js:281:19 at对象。(D:\nodeprojects\mysite\server.js:285:3)位于模块_在对象处编译(module.js:570:32)。模块_扩展。。模块处的js(模块js:579: