導航:首頁 > 操作系統 > android運行docker

android運行docker

發布時間:2023-11-14 15:56:41

㈠ 想使用docker來進行android源碼編譯,對電腦配置要求怎麼樣

這個配置足夠了,還需要配置好對應的環境和編譯工具。

㈡ 如何利用 Docker 環境加速 Android 應用的構建

Docker的英文本意是碼頭工人,也就是搬運工,這種搬運工搬運的是集裝箱(Container),集裝箱裡面裝的可不是商品貨物,而是任意類型的App,Docker把App(叫Payload)裝在Container內,通過Linux Container技術的包裝將App變成一種標准化的、可移植的、自管理的組件,這種組件可以在你的latop上開發、調試、運行,最終非常方便和一致地運行在proction環境下。
Docker的核心底層技術是LXC(Linux Container),Docker在其上面加了薄薄的一層,添加了許多有用的功能。 這篇stackoverflow上的問題和答案很好地詮釋了Docker和LXC的區別,能夠讓你更好的了解什麼是Docker, 簡單翻譯下就是以下幾點:
Docker提供了一種可移植的配置標准化機制,允許你一致性地在不同的機器上運行同一個Container;而LXC本身可能因為不同機器的不同配置而無法方便地移植運行;
Docker以App為中心,為應用的部署做了很多優化,而LXC的幫助腳本主要是聚焦於如何機器啟動地更快和耗更少的內存;
Docker為App提供了一種自動化構建機制(Dockerfile),包括打包,基礎設施依賴管理和安裝等等;
Docker提供了一種類似git的Container版本化的機制,允許你對你創建過的容器進行版本管理,依靠這種機制,你還可以下載別人創建的Container,甚至像git那樣進行合並;
Docker Container是可重用的,依賴於版本化機制,你很容易重用別人的Container(叫Image),作為基礎版本進行擴展;
Docker Container是可共享的,有點類似github一樣,Docker有自己的INDEX,你可以創建自己的Docker用戶並上傳和下載Docker Image;
Docker提供了很多的工具鏈,形成了一個生態系統;這些工具的目標是自動化、個性化和集成化,包括對PAAS平台的支持等;
那麼Docker有什麼用呢?對於運維來說,Docker提供了一種可移植的標准化部署過程,使得規模化、自動化、異構化的部署成為可能甚至是輕松簡單的事情;而對於開發者來說,Docker提供了一種開發環境的管理方法,包括映像、構建、共享等功能,而後者是本文的主題。

㈢ 如何Golang開發Android應用

如何Golang開發Android應用:

一丶准備

1.一台Linux 64的機器

2.一個帶有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


二丶代碼


1.寫代碼之前,先約定下目錄結構

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֞֞֞ # 自動生成的代碼
| | | `-- 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
2.寫了一個例子

git clone

3.編譯下,試試行不行(就算不行問題應該也不大,因為大問題都被消滅了)

cd GoHello/app
./make.bash
../gradlew build

4.一切順利的話在build/outputs/apk下應該可以看到app-debug.apk這個文件。

編譯好的放到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! ", name)
return "(Go)World"
}
5.文件末尾添加下面這行代碼

func Welcome(name string) string {
return fmt.Sprintf("Welcome %s to the go world", name)
}

使用./make.bash重新編譯下

6.打開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安裝到手機上試試。

㈣ docker能運行android模擬器嗎

很高興能幫助您, docker起來之後,什麼就都配置好了,NDK啦,java啦,GO的環境變數了,等等,並且還預裝了vim,gradle,tmux,git,syncthing,svn 開始寫代碼 寫代碼之前,先約定下目錄結構 go的代碼都放在src/golib下,編譯使用make.bash編。

閱讀全文

與android運行docker相關的資料

熱點內容
做解壓學慣用品手工 瀏覽:85
手機文件夾刪除又出現怎麼解決 瀏覽:285
php時間段分析 瀏覽:213
redisjava類 瀏覽:911
剪力牆錯開部分鋼筋是否加密 瀏覽:477
linux字元設備驅動程序 瀏覽:57
全排列演算法java 瀏覽:465
中國銀行app轉賬電子回單在哪裡 瀏覽:51
操作簡單的程序員 瀏覽:600
數值積分演算法求pi 瀏覽:18
按鈕怎麼連命令方塊 瀏覽:909
房貸還清後不解壓能貸款嗎 瀏覽:36
程序員哄老婆開心技術 瀏覽:672
oracle自動備份壓縮文件 瀏覽:855
遵義人字形加密網帶 瀏覽:255
寧波人社在哪裡下載app 瀏覽:92
好噠商戶app下載在哪裡下載 瀏覽:609
廣發兌星巴克是在app哪裡操作 瀏覽:783
linuxgetline 瀏覽:215
app的懸浮窗許可權在哪裡設置 瀏覽:686