0 votes

Hello!
I compile export template for android with module AdMob (enter link description here) for Godot 2.1 (Latest commit e898b0a on 16 Jan)
Win 10 X64, VS2015, NDK r19c X86_64

Compile for armv7

scons platform=android target=release

[ 97%] ←[91mLinking Shared Library ←[95m==> ←[93mbin\libgodot.android.opt.armv7.
neon.so←[0m
[100%] progress_finish(["progress_finish"], [])
[100%] scons: done building targets.
  • succes

Compile for arm64

scons platform=android target=release android_arch=arm64v8

[ 97%] <[91mLinking Shared Library <[95m==> <[93mbin\libgodot.android.opt.armv8.
so<[0m
=====
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find crtbegin_so.o: No such file or directory
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lOpenSLES
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lEGL
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lOpenSLES
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -landroid
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -llog
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lGLESv1_CM
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lGLESv2
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lz
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lstdc++
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lm
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -ldl
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -lc
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find -ldl
D:\android\ndk/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/
gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin\ld: cannot
 find crtend_so.o: No such file or directory
clang++.exe: error: linker command failed with exit code 1 (use -v to see invoca
tion)

=====
scons: *** [bin\libgodot.android.opt.armv8.so] Error 1
scons: building terminated because of errors.
  • error

Please help.
Thank you!

in Engine by (16 points)

Hi,
I looked for tutorial like you did, I do not know how to start, how did you manage? I downloaded it:
* Python (already installed)
* Android SDK (already installed)
* JDK 8 (already installed)
I did not find these to install, what I do and how I do:
* Android NDK
* SCons
which command?

can you teach me? I want to do more or less like yours, if I can, I'll help you too.
sorry my English is bad

I found error in platform\android\detect.py in line 145

  ndk_platform = "android-21"

replace to

env["ndk_platform"] = "android-21"

Original part source

elif env["android_arch"] == "arm64v8":
    if get_platform(ndk_platform) < 21:
        print("WARNING: android_arch=arm64v8 is not supported by ndk_platform lower than android-21; setting ndk_platform=android-21")
        ndk_platform = "android-21"

After replace

       elif env["android_arch"] == "arm64v8":
            if get_platform(ndk_platform) < 21:
                print("WARNING: android_arch=arm64v8 is not supported by ndk_platform lower than android-21; setting ndk_platform=android-21")
                env["ndk_platform"] = "android-21"

But other error with OpenSSL

[Initial build] <[91mLinking Shared Library <[95m==> <[93mbin\libgodot.android.o
pt.armv8.so<[0m
=====
modules\libmodules.android.opt.armv8.a(ui_openssl.android.opt.armv8.o): In funct
ion `read_string_inner':
ui_openssl.c:(.text.read_string_inner+0xac): undefined reference to `bsd_signal'

clang++.exe: error: linker command failed with exit code 1 (use -v to see invoca
tion)

=====
scons: *** [bin\libgodot.android.opt.armv8.so] Error 1
scons: building terminated because of errors.

If compiled with module_openssl_enabled=no

scons platform=android target=release android_arch=arm64v8 module_openssl_enabled=no

Compiled succes.

Error like https://stackoverflow.com/questions/36746904/android-linker-undefined-reference-to-bsd-signal ?

1 Answer

0 votes
by (16 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.