從圍棋
回答
恐怕這是幾乎不可能的時刻。在「Meet the Go Team」I/O會議中,來自Go團隊的人表示他們沒有計劃爲Go增加Android支持。
我們現在只能是ARM架構的編譯器。不幸的是,這對於真正的Android應用來說幾乎沒有用,儘管這些程序可以從Android設備上的命令行啓動。
大部分的Android框架是用Java編寫的,所以與它交互您的代碼應該被編譯成*。所以libary,將通過JNI接口加載並調用。目前的Go編譯器不可能(gc,不確定gccgo)。
也許你會能夠使綁定到Android NDK API與cgo
,這將使因爲API 9級(安卓2.3)
UPD您創造轉到應用程序:您現在可以使用JNI從Go使用golang.org/x/mobile包自動創建java綁定。在Go 1.4中它仍然是實驗性的,但有計劃將它包含到Go 1.5發行版中。該軟件包還爲GL,音頻和用戶輸入提供了綁定(希望他們還可以添加iOS支持,並且有一天可以兼容Android和iOS)。無論如何,這個軟件包主要面向在Go上編寫遊戲,而不是使用Go作爲Android上Java的替代品。
步驟1:使用Golang創建一個獨立於平臺的GUI庫,該庫使用OpenGL進行繪製,並使用智能事件和數據綁定系統來編寫應用程序。使用OpenGL的任何軟件都將具有或多或少的便攜性。基本上,在Golang重寫Kivy。
第2步:使用類似於PyJNIus(也是Kivy項目)的Java類創建內省/反射基於包裝器。
第3步:很多更艱苦的工作,因爲有很多事情要做去Kivy
水平第4步:利潤
超越頂端,所以我理解你的答案是「不,目前不可能」。 :) – 2013-08-16 19:01:29
是的,我不想成爲一個氛圍殺手,但它只是需要時間才能到達那裏。我非常喜歡使用Golang而不是Java(或Python)的想法。在Python獲得某種類型推理編譯器給LLVM的IF或類似的東西之前,我寧願不承擔如此巨大的速度懲罰。 – user823629 2013-08-21 16:39:53
看看我的回答Android App from Go programming language。 goandroid項目允許您在Go中通過NDK創建Android應用程序。
(免責聲明:我goandroid的作者)
編輯:由於在評論中提到,進入1.5增加了對純轉到Android應用或如Java的混合官方支持而歸。預計iOS也會及時抵達最終的1.5版本。有關更多詳細信息,請參閱https://github.com/golang/mobile。
goandroid已棄用,請訪問https://github.com/golang/mobile獲取官方支持。 – 2015-05-10 02:50:48
GO 1.4 doc說,「去1.4可以建立運行Android操作系統的ARM處理器的二進制文件,也可以建立一個可以通過Android應用程序在移動subrepository使用支持包加載的.so庫」
「golang.org/x/mobile/app」庫中有package app選項,它允許您爲Android(最終iOS)編寫應用程序。
- 1. 圍棋
- 2. 圍棋
- 3. 圍棋
- 4. 圍棋
- 5. 圍棋
- 6. 圍棋
- 7. 圍棋
- 8. 圍棋
- 9. Accesing的MongoDB從圍棋
- 10. 創建從圍棋結構
- 11. unsafe.Pointer爲[]圍棋
- 12. 在圍棋
- 13. 解組圍棋
- 14. 與圍棋
- 15. 對於圍棋
- 16. 在圍棋
- 17. 錯誤圍棋
- 18. 提高圍棋
- 19. 分叉(圍棋)
- 20. VAR VS:圍棋
- 21. 圍棋在JSON
- 22. 凡在圍棋
- 23. strings.Split圍棋
- 24. 實現圍棋
- 25. 拆封圍棋
- 26. 「網」在圍棋
- 27. 有道,爲圍棋
- 28. 解析XML圍棋
- 29. 追加到圍棋
- 30. 初始化圍棋
至少這個網絡是否可以在本地使用?我的意思是,「net」或「net/http」Go軟件包是否可以在Android手機上「開箱即用」? – 2012-07-15 23:18:37
@SebastiánGrignoli是的,這應該是可能的,一些現有的項目做到這一點:https://github.com/huin/chunkymonkey/blob/master/docs/android-server.md – zserge 2012-07-16 16:53:12
這個答案是oudated。 https://github.com/golang/mobile項目包含對Go中Android應用程序的支持。 – 2015-05-10 08:03:47