Last active
December 21, 2019 19:54
-
-
Save obito02/517693fc76605356bde4a0ef8485387a to your computer and use it in GitHub Desktop.
Crear binario estatico para android con Go usando CGO habilitado. (Acceder a funcion de C desde Go)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Resulta que deseo crear un binario estatico para android no un bibliotecta compartida, pero gomobile no me permite o hasta donde he | |
investigado no me permite crear binarios estaticos. Esto esta construido usando Windows | |
Requisitos | |
NDK r19 o superior | |
Tendremos que crear un standalone tool chain | |
puedes guiarte con este tutorial https://developer.android.com/ndk/guides/standalone_toolchain | |
Una vez creado, a compilar. yo uso un bat para asignar las variables necesarias. | |
////////////INICIO BAT///////////////////// | |
set GOOS=android | |
set GOARCH=arm | |
set CGO_ENABLED=1 | |
:: C:\dev\bin es la carpeta donde se crea el estandolone (en mi caso, en el suyo debe poner en donde lo creo.), tienes que configurar la variable de entorno PATH con el valor de la carpeta BIN | |
set PATH=%PATH%;C:\dev\bin | |
:: Configura los compiladores de C y C++ | |
set CC=arm-linux-androideabi-clang | |
set CXX=arm-linux-androideabi-clang++ | |
:: Construye tu binario estatico haciendo uso de las funciones de tu codigo C | |
go build paquete | |
//////////////////FIN BAT///////////////////// | |
Con esto te creara el binario. OJO solo te contruira un binario para ARM de 32 bits, si necesitas para arm64 o intel deberas crear o configurar el toolchain para dicha arquitectura. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment