gomobile的使用

1,171 阅读2分钟

gomobile的使用

谨记要打包android sdk, 确保pc上安装了android sdk ndk, 要打包ios sdk,确保pc上安装了xcode

安装go mobile

go get golang.org/x/mobile/cmd/gomobile

android环境

建议使用android studio进行安装

下载完sdk、ndk以后记得设置环境变量

export ANDROID_HOME = ***
export ANDROID_NDK_HOME = $ANDROID_HOME/***

设置完成后,可能会出现找不到ndk的情况。这时重启下机器试试

ios环境

确保机器已经安装xcode

初始化go mobile

gomobile init

生成sdk

在对应的项目路径下执行

gomobile bind -target=android -v
gomobile bind -target=ios -v

生成apk

gomobile build -target=android -v
gomobile build -target=ios -v

注意问题

在windows下打包aar时,出现

错误: 编码GBK的不可映射字符

原因大致如下:

  • 错误: CMD 编译 Java 源文件时出现的编码 GBK 的不可映射字符的错误
  • 办法: 使用 javac -encoding UTF-8 .java 指定编码形式
  • 原因:由于 JDK 是国际版的,在编译的时候,如果我们没有用-encoding 参数指定 JAVA源程序的编码格式,则 java.exe 首先获得我们才做系统默认采用的编码格式,也即在编译 JAVA 程序时,若我们不指定源程序文件的编码格式,JDK 首先获得操作系统的 file.encoding 参数(它保存的就是操作系统默认的编码格式,如 Win2k,他的值为 GBK) ,然后 JDK 就把我们的 JAVA 源程序从 fle.encoding 编码格式转化为 JAVA 内部默认的 UNICODE 格放到内存中。之后,iavac 把转换后的 UNICODE 格式的文件进行编译成 class 类文件,此时.class 文件是 UNICODE 编码的,它暂放在内存中,紧接着,JDK将比以 UNICODE 编妈编详后的class 文件保存到操作系统中开应我们见到的.class 文件,但我们不加设置就编译时,相当于使用了参数: javac -encoding gbk xx,java,就会出现不兼容的情况.

可以设置java的编码然后执行bind命令

set JAVA_TOOL_OPTIONS=-Dfile.encoding=utf-8