Go support for Android
来源:互联网 发布:java paxos算法 编辑:程序博客网 时间:2024/06/05 20:13
We propose to introduce Go support for the Android platform. The focus will be on supporting games written in Go. The APIs will be those defined in the Android NDK.
Background
Android is an operating system designed for running apps. An app relies on far more platform libraries and services than are provided by a traditional Unix operating system, which means a direct port of the Go runtime to Android without new APIs would not be particularly useful.
Providing a Go equivalent to the Android platform is intractable. The platform is written in Java and has a huge API surface. Any attempt to wrap these APIs in Go would give an undesirable result: manually built wrappers would lag in features, automatically generated wrappers would lead to ugly Go. And either way, it would be slow.
There is however, a subset of Android apps written against a much smaller C-based API surface provided in the Android NDK: Games. It is feasible to build Go support for Android providing the equivalent features found in the NDK.
Proposal
During the Go 1.4 cycle, GOOS=android will be introduced to the Go repository, along with cgo support on Android (contributed by Elias Naur). Dalvik/ART-loadable .so files will be produced using the external linker provided in the Android NDK.
For the build dashboard, we will maintain a cross-compiling builder that runs the Go tool on a linux host and uses the adb tool to run test binaries on a stock Android device.
We will introduce a subrepository, go.mobile. It will house:
Bindings for OpenGL, OpenSL, and OpenMAX as exported through the Android NDK.
A Java -> Go language binding generator. Given a Go package, this will let Java code call it, so game menu UIs can be built in the standard SDK. (As Go defines the binding, it also makes it possible to use the same code to bind to languages like Objective C.)
Android Studio build system integration.
Binary releases will be provided after the project has stabilized.
转自:https://docs.google.com/document/d/1N3XyVkAP8nmWjASz8L_OjjnjVKxgeVBjIsTr5qIUcA4/edit?pli=1#
- Go support for Android
- Go: Yaml support for the Go language
- Android: Support Libraries for Android.
- Rich Go language support for Visual Studio Code
- go for android编译指南
- ffmpeg compile with neon support for android
- android ndk Support for 64-bit x86
- android studio for android learning (十六) support-annotations简介
- Support for EAP-SIM and EAP-AKA in Android.
- Support for EAP-SIM and EAP-AKA in Android.
- Android Design Support之Floating labels for editing text实战
- tcpdump for android L 5.x with pie support
- Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (24.2.
- Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (24.2
- android.support
- Ready for Beijing. Go! Go!
- go语言 TensorFlow for Go
- apache support for php5
- 折线分割平面(水题)
- 单一职责原则
- 五、回溯算法
- sql server 中的group by 和 having count
- 调试时,Lua的print函数输出的内容同时输出到VS的“输出窗口”中
- Go support for Android
- Win7下VLD引起0xc0150002错误
- UVA - 12325 Zombie's Treasure Chest
- NYOJ467中缀式变后缀式
- Oracle 集合操作符
- CentOS下yum安装wine
- Android之拨打接挂电话功能实现
- MacBook 获取Rgb值的自带小软件
- UVA - 1644 Prime Gap