go及gomobile的環(huán)境配置這里就不介紹了佣渴,直接說aar的生成和使用。
1. 設(shè)置環(huán)境變量GOPATH
GOPATH的值可以有多個(gè),用半角分號(hào)間隔桦锄,但不能以其結(jié)束,設(shè)置完成后需要重新做gomobile init
蔫耽。
例如:GOPATH = D:\zxdev\go;D:\zxdev\go-mobile-workspace
2. 在GOPATH里創(chuàng)建src文件夾结耀,用于存放go的包和源文件
3. 在src中創(chuàng)建hello文件夾(go文件的包名)
4. 在hello中創(chuàng)建hello.go文件,并輸入內(nèi)容
package hello
import "fmt"
func Greetings(name string) string {
return fmt.Sprintf("Hello, %s!", name)
}
5. 編譯
執(zhí)行命令:gomobile bind -target=android hello
會(huì)生成一個(gè)hello.aar文件
6. 導(dǎo)入到android工程
將hello.aar文件放入工程的libs中匙铡,并配置build.gradle
在根結(jié)點(diǎn)加入:
//配置本地aar庫
repositories {
flatDir {
dirs 'libs'
}
}
在dependencies結(jié)點(diǎn)下加入依賴:
//hello(local aar)
compile(name:'hello', ext:'aar')
7. 在Java中測試
// Call Go function.
String greetings = hello.Hello.greetings("Android and Gopher");
Log.d("test", greetings);
運(yùn)行后图甜,結(jié)果會(huì)輸出Hello, Android and Gopher