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