Androidbuild.sh problem on OS X

Hi,
I tried to build one of the SDL tests for Android using the example given in README-android.txt.
SDL itself seems to compile fine but it looks like the sed commandline fails and there’s no APK being built at the end. Same problem with 2.0.1 as well as 2.0.2rc.

Am I missing something?

Best regards,
Steffen

$ ./androidbuild.sh org.libsdl.testgles …/test/testgles.c
sed: 1: “/private/tmp/SDL/build/ …”: undefined label 'mp/SDL/build/org.libsdl.testgles/jni/src/Android.mk’
sed: 1: “/private/tmp/SDL/build/ …”: undefined label 'mp/SDL/build/org.libsdl.testgles/AndroidManifest.xml’
sed: 1: “/private/tmp/SDL/build/ …”: undefined label 'mp/SDL/build/org.libsdl.testgles/AndroidManifest.xml’
sed: 1: “/private/tmp/SDL/build/ …”: undefined label ‘mp/SDL/build/org.libsdl.testgles/build.xml’
Updated local.properties
Updated file /private/tmp/SDL/build/org.libsdl.testgles/proguard-project.txt
Android NDK: WARNING: APP_PLATFORM android-12 is larger than android:minSdkVersion 10 in ./AndroidManifest.xml
[armeabi] Compile thumb : SDL2 <= SDL.c
[armeabi] Compile thumb : SDL2 <= SDL_assert.c
[armeabi] Compile thumb : SDL2 <= SDL_error.c
[armeabi] Compile thumb : SDL2 <= SDL_hints.c
[armeabi] Compile thumb : SDL2 <= SDL_log.c
[armeabi] Compile thumb : SDL2 <= SDL_audio.c
[armeabi] Compile thumb : SDL2 <= SDL_audiocvt.c
[armeabi] Compile thumb : SDL2 <= SDL_audiodev.c
[armeabi] Compile thumb : SDL2 <= SDL_audiotypecvt.c
[armeabi] Compile thumb : SDL2 <= SDL_mixer.c
[armeabi] Compile thumb : SDL2 <= SDL_wave.c
[armeabi] Compile thumb : SDL2 <= SDL_androidaudio.c
[armeabi] Compile thumb : SDL2 <= SDL_dummyaudio.c
[armeabi] Compile thumb : SDL2 <= SDL_atomic.c
[armeabi] Compile arm : SDL2 <= SDL_spinlock.c
[armeabi] Compile thumb : SDL2 <= SDL_android.c
[armeabi] Compile thumb : SDL2 <= SDL_cpuinfo.c
[armeabi] Compile thumb : SDL2 <= SDL_dynapi.c
[armeabi] Compile thumb : SDL2 <= SDL_clipboardevents.c
[armeabi] Compile thumb : SDL2 <= SDL_dropevents.c
[armeabi] Compile thumb : SDL2 <= SDL_events.c
[armeabi] Compile thumb : SDL2 <= SDL_gesture.c
[armeabi] Compile thumb : SDL2 <= SDL_keyboard.c
[armeabi] Compile thumb : SDL2 <= SDL_mouse.c
[armeabi] Compile thumb : SDL2 <= SDL_quit.c
[armeabi] Compile thumb : SDL2 <= SDL_touch.c
[armeabi] Compile thumb : SDL2 <= SDL_windowevents.c
[armeabi] Compile thumb : SDL2 <= SDL_rwops.c
[armeabi] Compile thumb : SDL2 <= SDL_haptic.c
[armeabi] Compile thumb : SDL2 <= SDL_syshaptic.c
[armeabi] Compile thumb : SDL2 <= SDL_gamecontroller.c
[armeabi] Compile thumb : SDL2 <= SDL_joystick.c
[armeabi] Compile thumb : SDL2 <= SDL_sysjoystick.c
[armeabi] Compile thumb : SDL2 <= SDL_sysloadso.c
[armeabi] Compile thumb : SDL2 <= SDL_power.c
[armeabi] Compile thumb : SDL2 <= SDL_syspower.c
[armeabi] Compile thumb : SDL2 <= SDL_sysfilesystem.c
[armeabi] Compile thumb : SDL2 <= SDL_render.c
[armeabi] Compile thumb : SDL2 <= SDL_yuv_mmx.c
[armeabi] Compile thumb : SDL2 <= SDL_yuv_sw.c
[armeabi] Compile thumb : SDL2 <= SDL_render_d3d.c
[armeabi] Compile thumb : SDL2 <= SDL_render_gl.c
[armeabi] Compile thumb : SDL2 <= SDL_shaders_gl.c
[armeabi] Compile thumb : SDL2 <= SDL_render_gles.c
[armeabi] Compile thumb : SDL2 <= SDL_render_gles2.c
[armeabi] Compile thumb : SDL2 <= SDL_shaders_gles2.c
[armeabi] Compile thumb : SDL2 <= SDL_render_psp.c
[armeabi] Compile thumb : SDL2 <= SDL_blendfillrect.c
[armeabi] Compile thumb : SDL2 <= SDL_blendline.c
[armeabi] Compile thumb : SDL2 <= SDL_blendpoint.c
[armeabi] Compile thumb : SDL2 <= SDL_drawline.c
[armeabi] Compile thumb : SDL2 <= SDL_drawpoint.c
[armeabi] Compile thumb : SDL2 <= SDL_render_sw.c
[armeabi] Compile thumb : SDL2 <= SDL_rotate.c
[armeabi] Compile thumb : SDL2 <= SDL_getenv.c
[armeabi] Compile thumb : SDL2 <= SDL_iconv.c
[armeabi] Compile thumb : SDL2 <= SDL_malloc.c
[armeabi] Compile thumb : SDL2 <= SDL_qsort.c
[armeabi] Compile thumb : SDL2 <= SDL_stdlib.c
[armeabi] Compile thumb : SDL2 <= SDL_string.c
[armeabi] Compile thumb : SDL2 <= SDL_thread.c
[armeabi] Compile thumb : SDL2 <= SDL_syscond.c
[armeabi] Compile thumb : SDL2 <= SDL_sysmutex.c
[armeabi] Compile thumb : SDL2 <= SDL_syssem.c
[armeabi] Compile thumb : SDL2 <= SDL_systhread.c
[armeabi] Compile thumb : SDL2 <= SDL_systls.c
[armeabi] Compile thumb : SDL2 <= SDL_timer.c
[armeabi] Compile thumb : SDL2 <= SDL_systimer.c
[armeabi] Compile thumb : SDL2 <= SDL_RLEaccel.c
[armeabi] Compile thumb : SDL2 <= SDL_blit.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_0.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_1.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_A.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_N.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_auto.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_copy.c
[armeabi] Compile thumb : SDL2 <= SDL_blit_slow.c
[armeabi] Compile thumb : SDL2 <= SDL_bmp.c
[armeabi] Compile thumb : SDL2 <= SDL_clipboard.c
[armeabi] Compile thumb : SDL2 <= SDL_egl.c
[armeabi] Compile thumb : SDL2 <= SDL_fillrect.c
[armeabi] Compile thumb : SDL2 <= SDL_pixels.c
[armeabi] Compile thumb : SDL2 <= SDL_rect.c
[armeabi] Compile thumb : SDL2 <= SDL_shape.c
[armeabi] Compile thumb : SDL2 <= SDL_stretch.c
[armeabi] Compile thumb : SDL2 <= SDL_surface.c
[armeabi] Compile thumb : SDL2 <= SDL_video.c
[armeabi] Compile thumb : SDL2 <= SDL_androidclipboard.c
[armeabi] Compile thumb : SDL2 <= SDL_androidevents.c
[armeabi] Compile thumb : SDL2 <= SDL_androidgl.c
[armeabi] Compile thumb : SDL2 <= SDL_androidkeyboard.c
[armeabi] Compile thumb : SDL2 <= SDL_androidtouch.c
[armeabi] Compile thumb : SDL2 <= SDL_androidvideo.c
[armeabi] Compile thumb : SDL2 <= SDL_androidwindow.c
[armeabi] Compile thumb : SDL2 <= SDL_test_assert.c
[armeabi] Compile thumb : SDL2 <= SDL_test_common.c
[armeabi] Compile thumb : SDL2 <= SDL_test_compare.c
[armeabi] Compile thumb : SDL2 <= SDL_test_crc32.c
[armeabi] Compile thumb : SDL2 <= SDL_test_font.c
[armeabi] Compile thumb : SDL2 <= SDL_test_fuzzer.c
[armeabi] Compile thumb : SDL2 <= SDL_test_harness.c
[armeabi] Compile thumb : SDL2 <= SDL_test_imageBlit.c
[armeabi] Compile thumb : SDL2 <= SDL_test_imageBlitBlend.c
[armeabi] Compile thumb : SDL2 <= SDL_test_imageFace.c
[armeabi] Compile thumb : SDL2 <= SDL_test_imagePrimitives.c
[armeabi] Compile thumb : SDL2 <= SDL_test_imagePrimitivesBlend.c
[armeabi] Compile thumb : SDL2 <= SDL_test_log.c
[armeabi] Compile thumb : SDL2 <= SDL_test_md5.c
[armeabi] Compile thumb : SDL2 <= SDL_test_random.c
[armeabi] SharedLibrary : libSDL2.so
[armeabi] Install : libSDL2.so => libs/armeabi/libSDL2.so
[armeabi] Compile thumb : main <= SDL_android_main.c
make: *** No rule to make target jni/src/YourSourceHere.c', needed byobj/local/armeabi/objs/main/YourSourceHere.o’. Stop.
Buildfile: /private/tmp/SDL/build/org.libsdl.testgles/build.xml

-set-mode-check:

-set-debug-files:

-check-env:
[checkenv] Android SDK Tools Revision 22.6.0
[checkenv] Installed at /usr/local/Cellar/android-sdk/22.3

-setup:
[echo] Project Name: SDLActivity
[gettype] Project Type: Application

-set-debug-mode:

-debug-obfuscation-check:

-pre-build:

-build-setup:
[getbuildtools] Using latest Build Tools: 19.0.3
[echo] Resolving Build Target for SDLActivity…
[gettarget] Project Target: Android 3.1
[gettarget] API level: 12
[echo] ----------
[echo] Creating output directories if needed…
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/res
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/rsObj
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/rsLibs
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/gen
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/classes
[mkdir] Created dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/dexedLibs
[echo] ----------
[echo] Resolving Dependencies for SDLActivity…
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
[dependency] API<=15: Adding annotations.jar to the classpath.
[echo] ----------
[echo] Building Libraries with ‘debug’…
[subant] No sub-builds to iterate on

-code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files…
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files…
[echo] ----------
[echo] Handling Resources…
[aapt] Generating resource IDs…
[echo] ----------
[echo] Handling BuildConfig class…
[buildconfig] Generating BuildConfig class.

-pre-compile:

-compile:
[javac] Compiling 4 source files to /private/tmp/SDL/build/org.libsdl.testgles/bin/classes
[javac] Note: /private/tmp/SDL/build/org.libsdl.testgles/src/org/libsdl/app/SDLActivity.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.

-post-compile:

-obfuscate:

-dex:
[dex] input: /private/tmp/SDL/build/org.libsdl.testgles/bin/classes
[dex] input: /usr/local/Cellar/android-sdk/22.3/tools/support/annotations.jar
[dex] Pre-Dexing /usr/local/Cellar/android-sdk/22.3/tools/support/annotations.jar -> annotations-b58bf918205d7036dc760b982b220f1f.jar
[dex] Converting compiled files and external libraries into /private/tmp/SDL/build/org.libsdl.testgles/bin/classes.dex…
[dx] Merged dex A (21 defs/23,5KiB) with dex B (2 defs/1,1KiB). Result is 23 defs/27,9KiB. Took 0,1s

-crunch:
[crunch] Crunching PNG Files in source dir: /private/tmp/SDL/build/org.libsdl.testgles/res
[crunch] To destination dir: /private/tmp/SDL/build/org.libsdl.testgles/bin/res
[crunch] Processing image to cache: /private/tmp/SDL/build/org.libsdl.testgles/res/drawable-hdpi/ic_launcher.png => /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-hdpi/ic_launcher.png
[crunch] (processed image to cache entry /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-hdpi/ic_launcher.png: 0% size of source)
[crunch] Processing image to cache: /private/tmp/SDL/build/org.libsdl.testgles/res/drawable-mdpi/ic_launcher.png => /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-mdpi/ic_launcher.png
[crunch] (processed image to cache entry /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-mdpi/ic_launcher.png: 0% size of source)
[crunch] Processing image to cache: /private/tmp/SDL/build/org.libsdl.testgles/res/drawable-xhdpi/ic_launcher.png => /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-xhdpi/ic_launcher.png
[crunch] (processed image to cache entry /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-xhdpi/ic_launcher.png: 105% size of source)
[crunch] Processing image to cache: /private/tmp/SDL/build/org.libsdl.testgles/res/drawable-xxhdpi/ic_launcher.png => /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-xxhdpi/ic_launcher.png
[crunch] (processed image to cache entry /private/tmp/SDL/build/org.libsdl.testgles/bin/res/drawable-xxhdpi/ic_launcher.png: 59% size of source)
[crunch] Crunched 4 PNG files to update cache

-package-resources:
[aapt] Creating full resource package…

-package:
[apkbuilder] Current build type is different than previous build: forced apkbuilder run.
[apkbuilder] Creating SDLActivity-debug-unaligned.apk and signing it with a debug key…

-post-package:

-do-debug:
[zipalign] Running zip align on final apk…
[echo] Debug Package: /private/tmp/SDL/build/org.libsdl.testgles/bin/SDLActivity-debug.apk
[propertyfile] Creating new property file: /private/tmp/SDL/build/org.libsdl.testgles/bin/build.prop
[propertyfile] Updating property file: /private/tmp/SDL/build/org.libsdl.testgles/bin/build.prop
[propertyfile] Updating property file: /private/tmp/SDL/build/org.libsdl.testgles/bin/build.prop
[propertyfile] Updating property file: /private/tmp/SDL/build/org.libsdl.testgles/bin/build.prop

-post-build:

debug:

BUILD SUCCESSFUL
Total time: 2 seconds
There was an error building the APK

You need to list the source file in LOCAL_SRC_FILES variable found in android-project/jni/src/Android.mk. Be sure to keep the entry for
SDL_android_main.c.

Cheers,

AlvinOn 05/03/14 10:48, Steffen Hein wrote:

make: *** No rule to make target jni/src/YourSourceHere.c', needed byobj/local/armeabi/objs/main/YourSourceHere.o’. Stop.
Buildfile: /private/tmp/SDL/build/org.libsdl.testgles/build.xml

2014-03-05 11:48 GMT-03:00 Steffen Hein :

Hi,
I tried to build one of the SDL tests for Android using the example given
in README-android.txt.
SDL itself seems to compile fine but it looks like the sed commandline
fails and there’s no APK being built at the end. Same problem with 2.0.1 as
well as 2.0.2rc.

Am I missing something?

Best regards,
Steffen

I made and tested this script on Ubuntu, so it may be that the syntax for
sed is not exactly the same on OSX. Feel free to file a bug report on this
issue.

Gabriel.

Thanks, that worked!
I still get the sed errors and it still says “There was an error building the APK” at the end, but the APK gets built and runs correctly on the device.

SteffenAm 05.03.2014 um 16:07 schrieb Alvin Beach :

On 05/03/14 10:48, Steffen Hein wrote:

make: *** No rule to make target jni/src/YourSourceHere.c', needed byobj/local/armeabi/objs/main/YourSourceHere.o’. Stop.
Buildfile: /private/tmp/SDL/build/org.libsdl.testgles/build.xml

You need to list the source file in LOCAL_SRC_FILES variable found in android-project/jni/src/Android.mk. Be sure to keep the entry for
SDL_android_main.c.

Cheers,

Alvin


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Seems to be a problem with sed on OS X. I’ve filed a bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2429

SteffenAm 05.03.2014 um 16:39 schrieb Gabriel Jacobo :

2014-03-05 11:48 GMT-03:00 Steffen Hein <@Steffen_Hein>:
Hi,
I tried to build one of the SDL tests for Android using the example given in README-android.txt.
SDL itself seems to compile fine but it looks like the sed commandline fails and there’s no APK being built at the end. Same problem with 2.0.1 as well as 2.0.2rc.

Am I missing something?

Best regards,
Steffen

I made and tested this script on Ubuntu, so it may be that the syntax for sed is not exactly the same on OSX. Feel free to file a bug report on this issue.

Gabriel.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org