導航:首頁 > 操作系統 > go語言android開發環境搭建

go語言android開發環境搭建

發布時間:2022-08-18 22:05:40

⑴ 如何Golang開發android應用

環境配置好復雜,我不得不嘮叨幾句。
需要下載golang1.4rc版,下載ndk,然後編譯。 然後用go get 下載gobind這個工具, 然後,將寫好的代碼用gobind轉化下,然後使用特殊的編譯命令,將代碼編譯成.so文件,將生成的相關文件,放到android studio的項目中。然後java代碼中,利用jni調用引用的代碼。
... 好,接著往下看吧。
環境准備
一台linux 64的機器
一個帶有AndroidStudioIDE的開發機器
因為環境配置實在復雜,所以我們引入的docker。
docker pull codeskyblue/docker-goandroid
docker run --rm -ti codeskyblue/docker-goandroid bash

cd example; echo "view example projects

docker起來之後,什麼就都配置好了,NDK啦,java啦,GO的環境變數了,等等,並且還預裝了vim,gradle,tmux,git,syncthing,svn
開始寫代碼
寫代碼之前,先約定下目錄結構
go的代碼都放在src/golib下,編譯使用make.bash編譯腳本,看下這個文件樹
.
|-- app.iml
|-- build.gradle
|-- libs/armeabi-v7a # go編譯生成的so文件
| `-- libgojni.so
|-- main.go_tmpl # 一個模板文件,先不用管它
|-- make.bash # 編譯腳本,用來生成.so和Java代碼
`-- src
|-- golib
| |-- hi
| | |-- go_hi�0�2�0�2�0�2 # 自動生成的代碼
| | | `-- go_hi.go
| | `-- hi.go # 需要編寫的代碼
| `-- main.go
`-- main
|-- AndroidManifest.xml
|-- java
| |-- go # 自動生成的代碼
| | |-- Go.java
| | |-- Seq.java
| | `-- hi
| | `-- Hi.java
| `-- me/shengxiang/gohello # 主要的邏輯代碼
| `-- MainActivity.java
`-- res

我已經寫了一個例子,先直接搞下來

編譯下,試試行不行(就算不行問題應該也不大,因為大問題都被我消滅了)
cd GoHello/app
./make.bash
../gradlew build

一切順利的話在build/outputs/apk下應該可以看到app-debug.apk這個文件。(劇透下,這個文件只有800多K)
編譯好的我放到qiniu上了,可以點擊下載看看
下面可以嘗試改改,我拋磚引玉說下
打開hi.go這個文件
hi.go的內容,比較簡單,我們寫Go代碼主要就是這部分
// Package hi provides a function for saying hello.
package hi

import "fmt"

func Hello(name string) {
fmt.Printf("Hello, %s!\n", name)
return "(Go)World"
}

文件末尾添加下面這行代碼
func Welcome(name string) string {
return fmt.Sprintf("Welcome %s to the go world", name)
}

使用./make.bash重新編譯下
打開MainActivity.java 修改下OnClickListener事件
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String message = Hi.Welcome("yourname");
Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show();
}
});

編譯運行下,把生成的apk安裝到手機上試試。
原理解讀(有興趣的接著看)
首先說下gobind這個工具。
go_hi/go_hi.go這個文件時通過gobind這個工具生成的,用來配合一個簡單的程序,生成.so文件
// go_hi.go
package go_hi

import (
"golang.org/x/mobile/bind/seq"
"example/hi"
)

func proxy_Hello(out, in *seq.Buffer) {
param_name := in.ReadUTF16()
hi.Hello(param_name)
}

func init() {
seq.Register("hi", 1, proxy_Hello)
}

這個簡單的程序內容是這樣的
// main.go
package main

import (
"golang.org/x/mobile/app"

_ "golang.org/x/mobile/bind/java"
_ "example/hi/go_hi"
)

func main() {
app.Run(app.Callbacks{})
}

src/MyActivity.java文件內容是這樣的
import ...
import go.Go; // 引入Go這個包
import go.hi.Hi; // gobind生成的代碼

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Go.init(getApplicationContext()); // 初始化兩個線程
Hi.Hello("world");
}
}

其中有一句Go.init(...)這里再看go.Go這個包是什麼樣子的
public final class Go {
// init loads libgojni.so and starts the runtime.
public static void init(Context context) {
... 判斷該函數是否該執行的代碼 -- 省略 --
System.loadLibrary("gojni"); // gojni需要這句

new Thread("GoMain") {
public void run() {
Go.run(); // run()是一個native方法
}
}.start();

Go.waitForRun(); // 這個也是一個native方法

// 這部分可以理解為,啟動了一個後台線程不斷的接收結果到緩存中。
new Thread("GoReceive") {
public void run() { Seq.receive(); }
}.start();
}

private static boolean running = false;

private static native void run();
private static native void waitForRun();
}

MyActivity.java中還有段代碼是 Hi.Hello("world");,打開Hi.java路徑在src/go/hi/Hi.java,這個文件也是gobind生成的,是用來給java方便的調用.so文件
// Hi.java
// File is generated by gobind. Do not edit.
package go.hi;

import go.Seq;

public abstract class Hi {
private Hi() {} // uninstantiable

public static void Hello(String name) {
go.Seq _in = new go.Seq();
go.Seq _out = new go.Seq();
_in.writeUTF16(name);
Seq.send(DESCRIPTOR, CALL_Hello, _in, _out); // 下面接著說
}

private static final int CALL_Hello = 1;
private static final String DESCRIPTOR = "hi";
}

Seq.send這部分實際上最終調用的是一段go代碼
func Send(descriptor string, code int, req *C.uint8_t, reqlen C.size_t, res **C.uint8_t, reslen *C.size_t) {
fn := seq.Registry[descriptor][code]
in := new(seq.Buffer)
if reqlen > 0 {
in.Data = (*[maxSliceLen]byte)(unsafe.Pointer(req))[:reqlen]
}
out := new(seq.Buffer)
fn(out, in)
seqToBuf(res, reslen, out)
}

轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

⑵ 怎麼搭建安卓開發環境

Eclipse搭建Android開發環境,搭建方法如下:

⑶ 如何安裝一個完整的android開發環境

1. 安裝JDK 下載 jdk-6u24-windows-i586.exe 然後雙擊安裝,選擇默認位置安裝即可 默認安裝C:\Program Files\Java\jdk1.6.0_24 2. 配置jdk 安裝完成以後,在桌面右鍵點擊「我的電腦」,選擇「屬性」 然後選擇「高級系統設置」,選擇「環境變數」新建系統變數: 變數名(N):JAVA_HOME 變數值(V):C:\Program Files\Java\jdk1.6.0_24 變數名和變數值按照上面的,對於路徑的選擇最好打開電腦中的路徑後復制過去,防止輸入有誤: 找到安裝路徑復制地址欄的路徑,然後黏貼到變數值即可。對於這一點,下面凡是涉及到路徑的必須如此,否則因為人為輸入造成的痛苦自負O(∩_∩)O~ 選擇path變數,如果沒有的話請自己新建,一般會有path變數 對於添加的路徑(變數值):對於不同的路徑務必加上:「;」這個分號是不同路徑的隔開符號,如果缺少的話,jdk配置也許可以成功,但是後面的jar調用將面臨災難O(∩_∩)O~ 這里要添加的路徑為: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre6\bin; 如果在添加前 已經有別的路徑 那麼前面一個;必須要有,對於最後一個; 可有可無。 新建變數:CLASSPATH 這里的變數值如下: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 注意這里的每一個符號 最前面的 . 代表當前目錄,不能缺少 到此為止,我們已經完成jdk配置前期工作 接下來需要驗證是否配置成功 Win7 下 輸入cmd 回車後會出現DOS界面 然後 輸入javac 如果出現如下界面 那麼恭喜你,jdk配置成功 這里提醒一下,雖然在這里jdk配置成功,但是我們在最後編寫helloworld程序的時候還需要驗證這一步環節。 如何出現其他情況,請你仔細檢查上面的環節是否出現問題,核實之。 1. 安裝Android SDK 下載android-sdk-windows_3.3.1-all.rar然後直接解壓到以上目錄下 點擊"我的電腦" ->"屬性"->"系統屬性"->"高級"->"環境變數"(這步跟配置JDK環境類似)->"系統變數" 然後點擊下方的"新建" 然後在對話框中的"變數名"中輸入SDK_HOME,在"變數值"中舒服剛才目錄.也就是 D:\sdx\jobInstall\android 這個目錄 3.找到path的變數.然後點"編輯".在變數最前端中加"%SDK_HOME%tools;" 記得分號一定要加上!相對於一個完結符號!其實 這個路徑指的也就是D:\sdx\jobInstall\android\tools 一樣!(我個人理解) 4.選擇[開始]|[運行]命令. 在[運行]中輸入cmd 並按回車鍵 然後在窗口輸入android -h 如果出現下面的圖一樣的數據.那恭喜你.已經配置完成了,並成功了! 反之! 下載eclipse-SDK-3.5.2-win32.zip,解壓到D:\android下,下載 ADT10.0。 然後運行eclipse,接著離線安裝ADT10.0 選擇help-----install new software 選擇add 然後出現一下對話框 路徑選擇好了以後 接下來安裝,選擇下一步安裝即可 創建子目錄d:\android\workspace,用於保存Eclipse的工程。在第一次啟動Eclipse時,將此目錄設置為workspace的默認目錄。 配置ADT插件:啟動Eclipse,點菜單Windows-->Preferences-->Android,在SDK Location中添加上一步的Android SDK的存儲路徑d:\android\android-sdk-windows 現在Eclipse工具欄中多了一些東西: ,這就是我們安裝插件的效果。點擊模擬器(向下箭頭的按鈕)的按鈕,出現配置界面,今後的軟體更新也可以在此處進行: 選擇Virtual Devices-->New就可以新建一個新的Android模擬器,因為手機版本不同,版本提供的服務也不同,所以要建立多個模擬器來測試: 然後Create AVD就可以了。隨後選中模擬器的版本,點擊Start就會出現模擬出來的手機界面了

⑷ 如何配置go語言開發環境

1、下載go的zip文件。並且一定要把文件解壓到c:\go目錄下。
2、配置windows的高級環境變數。包括:GOROOT、GOOS、GOBIN、GOARCH。並且在path變數裡面把c:\go\bin加入。以便可以在命令行直接運行go命令。
舉例:我的機器:
GOPATH= c:\go;c:\go\src;F:\workspace\goSample01;
GOBIN=c:\go\bin;F:\workspace\goSample01\bin;
其中,c:\go是go的安裝路徑;
F:\workspace\goSample01是我寫的go語言項目的工程目錄;
F:\workspace\goSample01\bin是go語言項目的工程目錄下的可執行文件路徑;

3、在完成環境變數配置後,打開一個命令行窗口,直接輸入go,然後回車,看看是否出現go的幫助信息。如果出現,那麼go的基本環境就OK了。
注意:這個基本環境不包含開發工具,也不能直接編譯帶C代碼的go程序。
4、(可選)為了支持Import遠程包,最好裝個gomingw。下載地址:http://code.google.com/p/gomingw/downloads/list。如果下的是壓縮包,請把它解壓到C盤。例如,C:\gowin-env。裡面有個Console.bat是以後使用go get的環境。舉例:有個文件a.go,裡面import(
"fmt"
"github.com/astaxie/beedb"
_ "github.com/ziutek/mymysql/godrv"
為了編譯該a.go文件,需要啟動Console.bat,然後在該命令行窗口,進入c:\go\src目錄下,執行go getgithub.com/astaxie/beedb
Go get github.com/ziutek/mymysql/godrv .
Go會自動下載該遠程包並編譯和安裝這些包。
配置goclipse(可選)
(如果不喜歡eclipse開發工具,請跳過這個配置。)
1、下載並安裝goclipse插件。Goclipse是go語言for eclipse的插件,下載地址:http://code.google.com/p/goclipse/
2、啟動eclipse並創建go項目。然後寫個最簡單的helloworld.go文件,並運行。代碼如下:
packagemainimport"fmt"func main(){ fmt.Printf("hello, world")}
配置gocode(可選)
如果不需要go語法輔助和eclipse裡面的(按ALT+/)彈出go語言自動輔助功能,請跳過這個配置。
1、下載gocode的zip文件,解壓後放在go的bin目錄下。
2、下載並安裝Git軟體。並且在path裡面配置git的執行路徑。例如c:\git\bin
3、在命令行執行:go build .\gocode。如果一切正常,那麼將會編譯生成一個gocode.exe文件在go的bin目錄下。如果編譯失敗,那麼就轉第4步。
4、如果第3步直接編譯gocode源文件成功,那就直接到第5步。否則,就需要通過git下載gocode源文件,然後再編譯。在命令行執行:go get -u github.com/nsf/gocode 。就會生成gocode.exe文件。
5、在goclipse插件裡面指定gocode的路徑。就可以在elcipse裡面調用gocode來幫助寫編碼了。
從開發工具這塊看,go語言還不夠成熟,開發工具都還不完善,有待改進。
下載go-tour教程源代碼(可選)
Google有個在線運行go語言的教程(http://tour.golang.org/#2),很不錯。支持在web上直接運行大部分的go程序,想了解這個教程的源代碼的朋友可以通過以下方式獲取。如果沒興趣,可以跳過這個步驟。

⑸ 如何用Go語言開發Android應用

Go 語言是一個試圖結合動態類型和靜態類型,編譯效率和安全性以及語言的易用性等眾多特性與一體的一種嘗試。他的另一個目標是支持現代的基於網路的、基於多核的計算。最後,Go 還是非常快的,他可以在單個計算機上僅僅花費幾秒時間構建一個龐大的應用程序。使用GO語言開發android語言步驟如下:

1. 下載安裝Go語言(版本1.5+)
Golang鏈接
回到頂部
2. 下載安裝 gomobile
下載
$ go get golang.org/x/mobile/cmd/gomobile
安裝(需要等待幾分鍾)
gomobile init
回到頂部
3. Golang開發手機應用有兩種方式
a. 原生應用開發
$ go get -d golang.org/x/mobile/example/basic
主要應用領域:
應用控制管理與配置
OpenGL ES 2 綁定
Asset 管理
Event 管理
試驗中的包,含有OpenAL 綁定、音頻、字體、圖形以及運動感測器
Android開發
$ gomobile build -target=android golang.org/x/mobile/example/basic
此命令會生成名為basic的apk安裝包
$ gomobile install golang.org/x/mobile/example/basic
此命令將安裝apk包到已連接的android設備

⑹ 簡述如何搭建android開發環境

如果你有一定的發展,一定得方法就可以的呀。

⑺ 如何搭建go語言編程環境

如果你有linux安裝盤,直接從安裝盤找到相關的安裝程序就行了,如果是rhel系列的,可以從add/remove software中找到開發相關的一些程序,比如開發工具、開發庫等,選中,安裝上就可以了。安裝後可用的是gnu下的一套開發環境,包括gcc、gnu-make等。

⑻ 如何搭建android sdk環境

方法/步驟

1、在網站上下載android-sdk的最新版本, 然後直接解壓到磁碟目錄下面。

⑼ 如何搭建android開發環境

我的第一個Android程序
今天給大家分享一下我的第一個Android項目:helloword
首先我們開發Android程序需要一個開發環境,下面先分享一下環境搭建的方法
Android開發環境搭建非常簡單,google為我們提供了一套完整的開發工具包下載

點擊Download the SDK就會出現下面的頁面,選擇同意以上條款,並根據自己的系統選擇對應的版本,我的電腦是32位的所以就選擇了32-bit的,然後點擊下面藍色的按鈕就可以開始下載啦~~


下載好了之後呢是一個510M的壓縮文件,選擇好目錄解壓縮之後能我們會得到


這三個東西,這里呢我們看到了我們熟悉的Eclipse文件夾了,沒錯,這個文件夾下呢就是我們的開發工具啦,但是不要著急,但開始之前呢,我們需要先配置一下我們的環境變數
將SDK下的platform-tools和tools兩個文件夾的完整路徑呢配置到我們的環境變數PATH中

我的系統是window7的,配置環境變數的方法呢:右擊我的電腦->屬性->高級設置->環境變數->雙擊Path將連個文件夾的路徑追加進去,注意中間要用分號隔開,點擊確定。

配置好所有的環境變數後,打開我們的Eclipse文件夾下的eclipse.exe,


第一次打開會彈出一個對話框,設置我們的工作路徑,也就是我們保存項目的地方


經過載入之後呢,我們就看到操作界面了。
首先先創建一個Android的虛擬機,點擊window下的Android Virtual Devices Manager選項
就可以看到我們的Android虛擬機管理界面了

點擊new新建一個虛擬機

選擇好後點擊確定,一個虛擬機就創建好了,選擇我們創建好,選中我創建好的虛擬機,start

載入界面

完成後就能看到我們的虛擬機啦~經過漫長的啟動終於看到虛擬機界面了。

准備工作都做好了,下面開始創建一個Android項目啦,萬能的helloword,哈哈!
虛擬機最小化,進入Eclipse界面,菜單欄File->new->Android application project,新建一個Android項目
接著會出現一個界面,選擇一些參數


接下來就是一路next然後finish,一個新的Android項目就建好了
接著在界面會看到Eclipse的界面了

右擊我們的項目,run as -> 選擇Android application,就可以運行到我們的虛擬機上

⑽ 如何搭建安卓開發環境需要學習哪些

工具/原料
JDK
Eclipse
Android SDK
ADT
AVD
搭建android開發環境流程
首先先看裝 JDK。
安裝步驟就是安裝提示一步一步走。設置環境變數步驟如下: 我的電腦->屬性->高級->環境變數->系統變數中添加以下環境變數: JAVA_HOME值為: D:\Program Files\Java\jdk1.6.0_18(你安裝JDK的目錄) CLASSPATH值為:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin; Path: 在開始追加 %JAVA_HOME%\bin; NOTE:前面四步設置環境變數對搭建Android開發環境不是必須的,可以跳過。 安裝完成之後,可以在檢查JDK是否安裝成功。打開cmd窗口,輸入java –version 查看JDK的版本信息。出現類似下面的畫面表示安裝成功了:

安裝Eclipse:
如果你還么有Eclipse的話,可以去下載,下載如下圖所示的Eclipse IDE for Java Developers(92M)的win 32bit版:

安裝Android SDK
在Android Developers下載android-sdk_r05-windows.zip,下載完成後解壓到任意路徑。運行SDK Setup.exe,點擊Available Packages。如果沒有出現可安裝的包,請點擊Settings,選中Misc中的"Force https://..."這項,再點擊Available Packages 。 選擇希望安裝的SDK及其文檔或者其它包,點擊Installation Selected、Accept All、Install Accepted,開始下載安裝所選包 在用戶變數中新建PATH值為:Android SDK中的tools絕對路徑(本機為D:\AndroidDevelop\android-sdk-windows\tools)。

安裝ADT
打開 Eclipse IDE,進入菜單中的 "Help" -> "Install New Software" 點擊Add...按鈕,彈出對話框要求輸入Name和Location:如下圖所示:

創建AVD
為使Android應用程序可以在模擬器上運行,必須創建AVD。1、在Eclipse中。選擇Windows > Android SDK and AVD Manager 2、點擊左側面板的Virtual Devices,再右側點擊New 3、填入Name,選擇Target的API,SD Card大小任意,Skin隨便選,Hardware目前保持默認值 4、點擊Create AVD即可完成創建AVD

望採納

閱讀全文

與go語言android開發環境搭建相關的資料

熱點內容
mcpe怎麼看伺服器地址 瀏覽:994
螢石雲智能鎖添加密碼 瀏覽:503
股票自動化交易編程 瀏覽:471
android自定義窗口 瀏覽:921
工程動力學pdf 瀏覽:179
騰訊的雲伺服器是bgp嗎 瀏覽:945
excel弘編程 瀏覽:912
什麼人不適合做程序員 瀏覽:675
喜購app怎麼樣 瀏覽:804
交換機查鄰居命令 瀏覽:343
渲染卡在正在編譯場景幾何體 瀏覽:315
app進入頁面為什麼有編譯 瀏覽:563
真我手機照片加密怎麼找回 瀏覽:637
怎麼查自己的app專屬流量 瀏覽:105
安卓車機一般是什麼主機 瀏覽:740
wps電腦版解壓包 瀏覽:79
怎麼在手機設置中解除應用加密 瀏覽:551
安卓手機怎麼讓微信提示音音量大 瀏覽:331
批處理域用戶訪問共享文件夾 瀏覽:132
怎麼做軟綿綿解壓筆 瀏覽:699