gomobile编译

gomobile编译

(1.)下载代码,并生成二进制文件,gomobile和gobind

go get golang.org/x/mobile/cmd/gomobile
或者
git clone https://github.com/golang/mobile
copy到$GOPATH/src/golang.org/x/

//编译生成gobind二进制文件
cd mobile/cmd/gobind
go build .
拷贝gobind到$GOPATH/bin目录,并加入环境变量

//编译生成gomobile二进制文件
cd mobile/cmd/gomobile
go build .
拷贝gomobile到$GOPATH/bin目录,并加入环境变量

//查看是否安装成功
gomobile version

gomobile example测试

gomobile init

//此命令会生成名为basic的apk安装包
gomobile build -target=android golang.org/x/mobile/example/basic

//此命令将安装apk包到已连接的android设备
gomobile install golang.org/x/mobile/example/basic

//生成jar、aar文件
gomobile bind -target=android golang.org/x/mobile/example/bind/hello
或 D:gosrcgolang.orgxmobileexampleind>gomobile bind -target=android ./hello

gomobile example编译错误处理

(1.)NDK未安装

下载:AndroidNDK
选择符合的操作系统及位数的NDK包:https://developer.android.google.cn/ndk/downloads/index.html
解压,放到一个你记得住的目录
尝试编译第一个Android apk安装包cmd命令:gomobile build -target=android golang.org/x/mobile/example/basic

(2.)通过Android Studio安装NDK

(3.)配置环境变量

(4.)测试ndk安装是否成功:
打开cmd命令: 执行ndk-build
注意:

  • 如果ndk没有配置成功,查看目录中是否有特殊字符,如空格,点等,修改目录名称,配置环境变量后,再重试
  • 如果执行gobind后还报错,找不到NDK,可以手动配置环境变量:
export ANDROID_NDK_HOME=xxx/ndk/
export ANDROID_HOME=xxx
  • 如果报错,无法从dl.google.xxx 下载文件,可以配置代理:
export GOPROXY=https://goproxy.cn
export GO111MODULE=on

gomobile-ipfs编译

(1.)go代码中编译
代理路径: https://github.com/ipfs-shipyard/gomobile-ipfs

cd /go/bind/
gomobile bind -target=android ./ipfs
生成jar和aar文件

注意:

  • 如果报错,找不到NDK,配置环境变量,执行export NDK_HOME=xxx/ndk,并执行 gomobile init -openal ndk目录
    (2.)将生成的jar包导入Android Studio




    (3.)导入后的截图如下

    导入成功后,settings.gradle文件会多一个模块标识,如下图:

(4.)执行编译

(5.)获取到APK

其他Android编译错误

(1.)可以新建一个Android项目,并且可以同步成功的项目,比较这个文件的版本号,是否匹配

(2.)下载依赖失败,可以修改build.gradle文件,加国内镜像

 maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }
 maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}


(3.)gradle下载慢问题

相关链接

https://www.cnblogs.com/--xiaoyao--/p/5139612.html
http://tblog.ehorizon.top/2019/05/28/20190528/
https://www.jishuwen.com/d/2edZ/zh-tw
https://doc.xuwenliang.com/docs/go/2660
https://www.jianshu.com/p/a1d45027da09
https://blog.csdn.net/u012491783/article/details/79721098
https://juejin.im/entry/59104f2d128fe1005857f534
https://www.cnblogs.com/--xiaoyao--/p/5139612.html
https://www.jianshu.com/p/a1d45027da09
https://www.jianshu.com/p/92eb2c0e01b5
https://blog.csdn.net/u014449046/article/details/72853063
https://www.jianshu.com/p/40618f854cac
https://www.gitdig.com/go-mobile-research-03/

----------------------------------【喜欢打赏】-------------------------------------------

小主,辛苦啦!文章棒棒哒,赏杯咖啡吧...

打赏

----------------------------------【喜欢打赏】-------------------------------------------

原文地址:https://www.cnblogs.com/tomtellyou/p/12340311.html