From 3120f5fb0851f8569e85000e6db90f96e152b195 Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Sat, 4 Nov 2023 14:48:26 +0100 Subject: [PATCH] Update Android instructions, issue #235 --- examples/others/android/example/README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/examples/others/android/example/README.md b/examples/others/android/example/README.md index 9a15651..830f364 100644 --- a/examples/others/android/example/README.md +++ b/examples/others/android/example/README.md @@ -9,19 +9,22 @@ Export path to Android NDK, point to location where you have unpacked archive: Add toolchain bin directory to PATH: - export PATH=${ANDROID_NDK_HOME}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:${PATH} + export PATH=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH} Export sysroot and libdirs: - export ANDROID_SYSROOT=${ANDROID_NDK_HOME}/sysroot - export ANDROID_PLATFORM=${ANDROID_NDK_HOME}/platforms/android-16/arch-arm + export ANDROID_SYSROOT=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot export ANDROID_TOOLCHAIN=${ANDROID_NDK_HOME}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 +Export API version: + + export ANDROID_API=16 + And compile shared library: - CC="arm-linux-androideabi-gcc" \ - CGO_CFLAGS="-I${ANDROID_SYSROOT}/usr/include -I${ANDROID_SYSROOT}/usr/include/arm-linux-androideabi --sysroot=${ANDROID_SYSROOT} -D__ANDROID_API__=16" \ - CGO_LDFLAGS="-L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_PLATFORM}/usr/lib -L${ANDROID_TOOLCHAIN}/arm-linux-androideabi/lib -L${ANDROID_TOOLCHAIN}/lib/gcc/arm-linux-androideabi/4.9.x --sysroot=${ANDROID_PLATFORM}" \ + CC="armv7a-linux-androideabi${ANDROID_API}-clang" \ + CGO_CFLAGS="-I${ANDROID_SYSROOT}/usr/include -I${ANDROID_SYSROOT}/usr/include/arm-linux-androideabi --sysroot=${ANDROID_SYSROOT} -D__ANDROID_API__=${ANDROID_API}" \ + CGO_LDFLAGS="-L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/${ANDROID_API} -L${ANDROID_TOOLCHAIN}/arm-linux-androideabi/lib -L${ANDROID_TOOLCHAIN}/lib/gcc/arm-linux-androideabi/4.9.x --sysroot=${ANDROID_SYSROOT}" \ CGO_ENABLED=1 GOOS=android GOARCH=arm \ go build -buildmode=c-shared -ldflags="-s -w -extldflags=-Wl,-soname,libexample.so" \ -o=android/libs/armeabi-v7a/libexample.so