SDL on Android, project compil but crash before entering main

Hello there

I took the android project made by Sam Lantinga,
and just edited the aliens.c file (renamed in aliens.cpp because i want to use C++, I edited android makefile about it).

The problem is that the program don’t start, I have no clues using logcat with the emulator;
I/ActivityManager( 318): Start proc org.libsdl.app for activity org.libsdl.app/.SDLActivity: pid=472 uid=10028 gids={1015}
I/ARMAssembler( 318): generated scanline__00000177:03515104_00000001_00000000 [ 73 ipp] (95 ins) at [0x53b6a8:0x53b824] in 1286000 ns
I/ARMAssembler( 318): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x53b828:0x53b934] in 956000 ns
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libmain.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libmain.so 0x44e8c030
D/qemud ( 35): fdhandler_accept_event: accepting on fd 10
D/qemud ( 35): created client 0x78128 listening on fd 15
D/qemud ( 35): client_fd_receive: attempting registration for service 'sensors’
D/qemud ( 35): client_fd_receive: -> received channel id 17
D/qemud ( 35): client_registration: registration succeeded for client 17
D/SensorManager( 472): found sensor: Goldfish 3-axis Accelerometer, handle=0
D/qemud ( 35): fdhandler_event: disconnect on fd 15
V/SDL ( 472): pixel format unknown -1
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libwebcore.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libmedia_jni.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libexif.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libwebcore.so’ for ‘nativeInit’ (wrong CL)
I/SDL ( 472): SDL_Android_Init()
I/ActivityManager( 318): Displayed activity org.libsdl.app/.SDLActivity: 1826 ms (total 1826 ms)
I/ARMAssembler( 318): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x53fe08:0x53fed4] in 540000 ns
I/WindowManager( 318): WIN DEATH: Window{44da1a38 SurfaceView paused=false}
I/WindowManager( 318): WIN DEATH: Window{44d81120 org.libsdl.app/org.libsdl.app.SDLActivity paused=false}
I/ActivityManager( 318): Process org.libsdl.app (pid 472) has died.
I/UsageStats( 318): Unexpected resume of com.android.launcher while already resumed in org.libsdl.app
W/InputManagerService( 318): Got RemoteException sending setActive(false) notification to pid 472 uid 10028

In fact, it crashes just after SDL_Android_init(), and I can’t understand why, because my program is tiniy:

//#include <stdlib.h>
#include <stdio.h>
#include <time.h>
//#include <cstdlib.h>

//Librairies universelles:
#include <unistd.h>
#include <stdarg.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <math.h>
//Autres librairies universelles
#include <string.h>

#include “SDL.h”
#include “SDL_image.h”
#include “SDL_ttf.h”
#include “SDL_net.h”
#include “SDL_mixer.h”

#ifdef ANDROID
#define DIR_SEP “/”
#define DIR_CUR “/sdcard/”
#else
#ifdef macintosh
#define DIR_SEP “:”
#define DIR_CUR “:”
#else
#define DIR_SEP “/”
#define DIR_CUR “”
#endif
#endif
#define DATAFILE(X) DIR_CUR “data” DIR_SEP X

#ifdef ANDROID
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 430
#else
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#endif
#define FRAMES_PER_SEC 50
#define PLAYER_SPEED 4
#define MAX_SHOTS 3
#define SHOT_SPEED 6
#define MAX_ALIENS 30
#define ALIEN_SPEED 5
#define ALIEN_ODDS (1*FRAMES_PER_SEC)
#define EXPLODE_TIME 4

#include “zlib.h”

int main(int argc, char *argv[]){
fprintf(stdout,“STARTED\n”);
return 0;
}

Can you help me please?

Thank you! :slight_smile:

Ok, I fount the problem:
In fact, stderr has to be redirected:
Viewing stdout and stderr

By default, the Android system sends stdout and stderr (System.out and System.err) output to /dev/null. In processes that run the Dalvik VM, you can have the system write a copy of the output to the log file. In this case, the system writes the messages to the log using the log tags stdout and stderr, both with priority I.

To route the output in this way, you stop a running emulator/device instance and then use the shell command setprop to enable the redirection of output. Here’s how you do it:

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
The system retains this setting until you terminate the emulator/device instance. To use the setting as a default on the emulator/device instance, you can add an entry to /data/local.prop on the device.

If it can help someone :wink: !

Le 10 avr. 2011 ? 18:11, Globoeil a ?crit :> Hello there

I took the android project made by Sam Lantinga,
and just edited the aliens.c file (renamed in aliens.cpp because i want to use C++, I edited android makefile about it).

The problem is that the program don’t start, I have no clues using logcat with the emulator;
I/ActivityManager( 318): Start proc org.libsdl.app for activity org.libsdl.app/.SDLActivity: pid=472 uid=10028 gids={1015}
I/ARMAssembler( 318): generated scanline__00000177:03515104_00000001_00000000 [ 73 ipp] (95 ins) at [0x53b6a8:0x53b824] in 1286000 ns
I/ARMAssembler( 318): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x53b828:0x53b934] in 956000 ns
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_image.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libmikmod.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_mixer.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_net.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): No JNI_OnLoad found in /data/data/org.libsdl.app/lib/libSDL_ttf.so 0x44e8c030
D/dalvikvm( 472): Trying to load lib /data/data/org.libsdl.app/lib/libmain.so 0x44e8c030
D/dalvikvm( 472): Added shared lib /data/data/org.libsdl.app/lib/libmain.so 0x44e8c030
D/qemud ( 35): fdhandler_accept_event: accepting on fd 10
D/qemud ( 35): created client 0x78128 listening on fd 15
D/qemud ( 35): client_fd_receive: attempting registration for service 'sensors’
D/qemud ( 35): client_fd_receive: -> received channel id 17
D/qemud ( 35): client_registration: registration succeeded for client 17
D/SensorManager( 472): found sensor: Goldfish 3-axis Accelerometer, handle=0
D/qemud ( 35): fdhandler_event: disconnect on fd 15
V/SDL ( 472): pixel format unknown -1
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libwebcore.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libmedia_jni.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libexif.so’ for ‘onNativeResize’ (wrong CL)
D/dalvikvm( 472): +++ not scanning ‘/system/lib/libwebcore.so’ for ‘nativeInit’ (wrong CL)
I/SDL ( 472): SDL_Android_Init()
I/ActivityManager( 318): Displayed activity org.libsdl.app/.SDLActivity: 1826 ms (total 1826 ms)
I/ARMAssembler( 318): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x53fe08:0x53fed4] in 540000 ns
I/WindowManager( 318): WIN DEATH: Window{44da1a38 SurfaceView paused=false}
I/WindowManager( 318): WIN DEATH: Window{44d81120 org.libsdl.app/org.libsdl.app.SDLActivity paused=false}
I/ActivityManager( 318): Process org.libsdl.app (pid 472) has died.
I/UsageStats( 318): Unexpected resume of com.android.launcher while already resumed in org.libsdl.app
W/InputManagerService( 318): Got RemoteException sending setActive(false) notification to pid 472 uid 10028

In fact, it crashes just after SDL_Android_init(), and I can’t understand why, because my program is tiniy:

//#include <stdlib.h>
#include <stdio.h>
#include <time.h>
//#include <cstdlib.h>

//Librairies universelles:
#include <unistd.h>
#include <stdarg.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <math.h>
//Autres librairies universelles
#include <string.h>

#include “SDL.h”
#include “SDL_image.h”
#include “SDL_ttf.h”
#include “SDL_net.h”
#include “SDL_mixer.h”

#ifdef ANDROID
#define DIR_SEP “/”
#define DIR_CUR “/sdcard/”
#else
#ifdef macintosh
#define DIR_SEP “:”
#define DIR_CUR “:”
#else
#define DIR_SEP “/”
#define DIR_CUR “”
#endif
#endif
#define DATAFILE(X) DIR_CUR “data” DIR_SEP X

#ifdef ANDROID
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 430
#else
#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#endif
#define FRAMES_PER_SEC 50
#define PLAYER_SPEED 4
#define MAX_SHOTS 3
#define SHOT_SPEED 6
#define MAX_ALIENS 30
#define ALIEN_SPEED 5
#define ALIEN_ODDS (1*FRAMES_PER_SEC)
#define EXPLODE_TIME 4

#include “zlib.h”

int main(int argc, char *argv[]){
fprintf(stdout,“STARTED\n”);
return 0;
}

Can you help me please?

Thank you! :slight_smile:


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