一直以来都不太喜欢 Android Studio , 因为太重了,一打开再遇到更新我可怜的8G内存老爷机,卡的不要不要的……
开发手机应用一直用的uniapp、E4A、B4A 这种轻量级的小公举。
今天实验用B4A开发APP,调用GoLang开发的AAR库,方法粗暴有效,感觉还不错。
选择B4A是因为它除了小巧之外,还具备免费、原生支持内联JAVA代码,支持JAR、AAE包等有点,虽然它使用的技术有点老旧,不妨碍我喜欢它。

废话多了,直接上代码

B4A

仅列出需要添加的部分

#AdditionalJar: hello.aar

Sub Process_Globals
	...
	Private NativeMe As JavaObject
	...
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Layout")
	If FirstTime Then
		NativeMe.InitializeContext
		NativeMe.RunMethod("FirstMethod", Null)
	End If
End Sub

...

#If JAVA
public class SubThreadRun extends Thread {
	@Override
	public void run() {
		hello.Hello.run();
	}
}

public void FirstMethod() {
	Thread t1 = new SubThreadRun();
	t1.start();
}
#End If

需要在项目的 Manifest 中添加 AddPermission(android.permission.INTERNET)

GoLang

编译aar,用的官方例子改的。

gomobile bind -o app/hello.aar golang.org/x/mobile/example/bind/hello

源码,(注明:gomobile 不支持 mod)

package hello

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

var r *gin.Engine

func Run() {
	r = gin.Default()
	r.GET("/hello", func(c *gin.Context) {
		c.JSON(http.StatusOK, gin.H{"hello": "world!"})
	})
	r.Run(":8080")
}

期间遇到很多问题,太多太零碎了,就不写了,遇到了请留言。