天天看點

使用go語言進行android ndk開發

轉載自 http://blog.lanyus.com/archives/163.html

1、安裝Go

a. 下載下傳位址為:https://golang.org/dl/

b. 這裡下載下傳到的版本為go1.5.2.windows-amd64.zip

c. 然後将壓縮包裡面的go檔案夾解壓到D盤根目錄

d. 配置環境變量GOROOT和GOPATH

e. GOROOT值為D:/go

f. 建立檔案夾D:/GOPATH

g. 設定環境變量GOPATH值為D:/GOPATH

h. 在PATH環境變量中增加 ;%GOROOT%/bin;%GOPATH%/bin

2、安裝go mobile

依次運作下列指令

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

gomobile init

我這裡網絡有點問題,gomobile下載下傳失敗,需要翻牆

可以開shadowsocks翻牆,運作下面這句指令,然後再運作上面兩句就成功了

set http_proxy=http://127.0.0.1:1080

3、設定環境變量ANDROID_HOME

設定環境變量ANDROID_HOME,值為android sdk的路徑,我這裡把android sdk放在了D:\android-sdk-windows,把ANDROID_HOME值設定為D:\android-sdk-windows就好了

4、編寫go程式,我随便寫了段

package goTest

func Add(x int, y int) int {
   return x + y
}
           

Go語言裡要注意下,函數必須首字母大寫的才能導出,否則無法導出

5、編譯Go

指令行裡,先cd到你.go檔案所在目錄,然後執行指令

gomobile bind -target=android

運作完後會生成一個.aar檔案

6、建立android項目

打開android studio,建立項目,建好後在左邊項目面闆中選中你的項目右鍵new,選擇Module,選擇導入jar/aar,選中第5步裡建立的aar檔案。

7、導入

在Project Structure中将導入的Module添加到建立的項目Dependencies中。

8、編寫Java代碼

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView textView = (TextView) findViewById(R.id.tv);
        int result = (int) go.goTest.GoTest.Add(,);
        textView.setText(String.valueOf(result));
    }

}
           

寫完後,編譯,run,會輸出結果11。