go使用mobile编译安卓aar
本帖最后由 tabbycute 于 2022-11-18 14:46 编辑第一次自动安装
go get golang.org/x/mobile/cmd/gomobile
gomobile init
git clone https://github.com/golang/mobile, copy项目到$GOPATH/src/golang.org/x/ 如果没有文件路径,自行创建
go build golang.org/x/mobile/cmd/gomobile,此时会在GOPATH/bin下面生成gomobile;
执行gomobile init, 会在GOPATH/bin下面生成gobind;
gomobile init执行不会报错,如果有问题,执行bind时会报错;
执行gomobile version
报错 gomobile version unknown: binary is out of date, re-install it
尝试过其他很多方法安装都是得到这个结果
求大佬指点一下。如何能解决这个问题
咖啡感谢 省略安装go的步骤
设置GOPROXY https://goproxy.cn 否则 go install 安装失败
安装gomobile
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
go mod init demo_android_go_mobile
go get golang.org/x/mobile/bind
创建文件夹hello
把 https://github.com/golang/mobile/blob/master/example/bind/hello/hello.go 放入文件夹内
gomobile bind -v-o mobile.aar -target=android ./hello
本帖最后由 jing19233 于 2022-11-18 18:29 编辑
https://github.com/jing332/tts-s ... ster/tts-server-lib
我的这个项目也用了gomobile,可当参考。
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
go get golang.org/x/mobile/bind
另外,还需设置ANDROID_NDK_HOME变量(如果在Android Studio里安装了NDK就直接设置ANDROID_HOME为SDK目录即可)
然后构建:
gomobile bind -v -target="android/arm,android/arm64" -androidapi=19
最后将 tts_server_lib.aar 移动到 app/libs 目录下 jing19233 发表于 2022-11-18 18:27
https://github.com/jing332/tts-s ... ster/tts-server-lib
我的这个项目也用了gomobile,可当参考。
我拉了你的项目编译还是没编译不出来,我自己的项目也是这个问题,不知道你有没有遇到过,很奇怪。。。
PS D:\projects_go\tts-server-android\tts-server-lib> go install golang.org/x/mobile/cmd/gomobile@latest
PS D:\projects_go\tts-server-android\tts-server-lib> go get golang.org/x/mobile/bind
PS D:\projects_go\tts-server-android\tts-server-lib> gomobile bind -v -target="android/arm,android/arm64" -androidapi=19
unable to import bind: no Go package in golang.org/x/mobile/bind
unable to import bind: no Go package in golang.org/x/mobile/bind
"golang.org/x/mobile/bind" is not found; run go get golang.org/x/mobile/bind: no Go package in golang.org/x/mobile/bind
E:\go1.19-GOPATH\bin\gomobile.exe: E:\go1.19-GOPATH\bin\gobind.exe -lang=go,java -outdir=C:\Users\ADMINI~1\AppData\Local\Temp\gomobile-work-3915506142 tts-server-lib
failed: exit status 1
PS D:\projects_go\tts-server-android\tts-server-lib> 本帖最后由 tabbycute 于 2022-11-21 00:05 编辑
PS D:\projects_go\tts-server-android\tts-server-lib> go install golang.org/x/mobile/cmd/gomobile@latestPS D:\projects_go\tts-server-android\tts-server-lib> go get golang.org/x/mobile/bind
PS D:\projects_go\tts-server-android\tts-server-lib> gomobile bind -v -target="android/arm,android/arm64" -androidapi=19
unable to import bind: no Go package in golang.org/x/mobile/bind
unable to import bind: no Go package in golang.org/x/mobile/bind
"golang.org/x/mobile/bind" is not found; run go get golang.org/x/mobile/bind: no Go package in golang.org/x/mobile/bind
E:\go1.19-GOPATH\bin\gomobile.exe: E:\go1.19-GOPATH\bin\gobind.exe -lang=go,java -outdir=C:\Users\ADMINI~1\AppData\Local\Temp\gomobile-work-3915506142 tts-server-lib
failed: exit status 1
PS D:\projects_go\tts-server-android\tts-server-lib> 本帖最后由 tabbycute 于 2022-11-21 00:08 编辑
有没有大佬知道上面的报错啊 tabbycute 发表于 2022-11-21 00:00
有没有大佬知道上面的报错啊
应当是你自己Go环境的问题,我在Github Actions和本地电脑都正常。 jing19233 发表于 2022-11-22 19:04
应当是你自己Go环境的问题,我在Github Actions和本地电脑都正常。
找到问题了,我之前没有吧项目放到GOPATH下面的src里面,放进去就可以了。{:1_908:} tabbycute 发表于 2022-11-23 11:05
找到问题了,我之前没有吧项目放到GOPATH下面的src里面,放进去就可以了。
你这是没打开gomod,把GO111MODULE=on就好了。 jing19233 发表于 2022-11-24 13:53
你这是没打开gomod,把GO111MODULE=on就好了。
开了的,已经用很久了。只是公司电脑,项目放的到处都是。。。不管怎样,万分感谢帮助
页:
[1]
2