go 言語は Android 開発をサポートしています。2014 年に go 言語の開発者は、android プラットフォームに go 開発が導入されると述べました。GO 言語バージョン 1.5 では、モバイル アプリケーション開発用の gomobile もリリースされました。 Gomobile は、Go で書かれたモバイル アプリケーションを構築および実行するためのツールであり、Go コード ベースを Android/iOS ライブラリに変換する方法です。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
2014 年頃、go 言語の開発者は Android プラットフォームに go 開発が導入されると述べ、GO 言語のバージョン 1.5 も go mobile
Gomobile# をリリースしました。
Gomobile は、Go で書かれたモバイル アプリケーションを構築および実行するためのツールであり、Go コード ライブラリを Android/iOS ライブラリに変換する方法です。Go Android Jar パッケージのコンパイル
準備作業:mkdir -p ${HOME}/android curl https://dl.google.com/android/repository/android-ndk-r24-linux.zip -o android-ndk-r24.zip unzip android-ndk-r24.zip && mv android-ndk-r24 ${HOME}/android
https: //developer.android.com/studio、コマンド ライン ツール ダウンロード項目の中から#を選択します##<pre class="brush:js;toolbar:false;">mkdir -p ${HOME}/android/android-sdk
# Download Tools
curl https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip -o commandlinetools.zip
unzip commandlinetools.zip
mv cmdline-tools ${HOME}/android/android-sdk
# Download Android SDK
${HOME}/android/android-sdk/cmdline-tools/bin/sdkmanager "platform-tools" "platforms;android-23" --sdk_root=${HOME}/android/android-sdk/cmdline-tools</pre>
注: android-23 の 23 は API レベルです。これは Android6.0 に対応します。Android10 の場合、android-29 が必要です。使用する API レベルの Android バージョンを決定してください
go install golang.org/x/mobile/cmd/gomobile@latest go install golang.org/x/mobile/cmd/gobind@latest
# config export ANDROID_HOME=${HOME}/android/android-sdk/cmdline-tools export ANDROID_NDK_HOME=${HOME}/android/android-ndk-r24 export TOOL=${HOME}/android/android-ndk-r24 android: depend gomobile bind -target=android/arm64 -androidapi=23 -o device.aar -v -x ${HOME}/demo ios: depend gomobile bind -target=ios -o device.framework -v ${HOME}/demo depend: cd ${HOME}/demo gomobile init go get golang.org/x/mobile/bind clean: rm -rvf libdevice.*
//ソースコードdemo/demo.go
// demo.go package demo import ( "fmt" "io/ioutil" "path/filepath" "time" ) var done = make(chan struct{}) func Start(dir string) { fmt.Println("dir", dir) file := filepath.Join(dir, "test.log") err := ioutil.WriteFile(file, []byte(time.Now().String()), 0666) if err != nil { fmt.Printf("Writefile:%v\n", err) } select { case <-done: case <-time.After(10 * time.Minute): } } func Stop(mac string) { fmt.Println("stop mac", mac) close(done) }Go Android実行可能プログラムのコンパイル
準備作業:
android-ndk をダウンロードします。URL:developer.android.com/ndk /downloads
mkdir -p ${HOME}/android curl https://dl.google.com/android/repository/android-ndk-r24-linux.zip -o android-ndk-r24.zip unzip android-ndk-r24.zip && mv android-ndk-r24 ${HOME}/android
export ARCH=arm
export NDK_ROOT=${HOME}/android/ndk-toolchain/${ARCH}
python ${HOME}/android/android-ndk-r24/build/tools/make_standalone_toolchain.py --arch $ARCH --api 22 --install-dir $NDK_ROOT
export CC=${HOME}/android/ndk-toolchain/arm/bin/arm-linux-androideabi-gcc export GOOS=android export GOARCH=arm export GOARM=7 export CGO_ENABLED=1 go build -x main.go
[関連する推奨事項:
Go ビデオ チュートリアル以上がGo 言語は Android 開発をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。