src/main/android/SDL_android_main.c
author Sam Lantinga <slouken@libsdl.org>
Sat, 12 Jul 2014 13:05:41 -0700
changeset 9006 98c808d72e20
parent 8694 244c7784723b
child 9171 3464a9bda1e2
permissions -rw-r--r--
Fixed bug 2638 - (Signed) Can't create signed apps in Android Pablo Mayobre When generating a signed app with SDL 2.0.3 an issue comes up, watching at the Error Log points out that the issue lies in the src/main/android/SDL_android_main.c where the process name is defined as "SDL_app", this name turns into an erroneous name so it should be changed to "app_process"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8616
ec011c16e2fd Added missing copyright notices
Sam Lantinga <slouken@libsdl.org>
parents: 8093
diff changeset
     1
/*
ec011c16e2fd Added missing copyright notices
Sam Lantinga <slouken@libsdl.org>
parents: 8093
diff changeset
     2
    SDL_android_main.c, placed in the public domain by Sam Lantinga  3/13/14
ec011c16e2fd Added missing copyright notices
Sam Lantinga <slouken@libsdl.org>
parents: 8093
diff changeset
     3
*/
8093
b43765095a6f Make internal SDL sources include SDL_internal.h instead of SDL_config.h
Ryan C. Gordon <icculus@icculus.org>
parents: 7678
diff changeset
     4
#include "../../SDL_internal.h"
6044
35448a5ea044 Lots of fixes importing SDL source wholesale into a new iOS project
Sam Lantinga <slouken@libsdl.org>
parents: 4999
diff changeset
     5
35448a5ea044 Lots of fixes importing SDL source wholesale into a new iOS project
Sam Lantinga <slouken@libsdl.org>
parents: 4999
diff changeset
     6
#ifdef __ANDROID__
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     7
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     8
/* Include the SDL main definition header */
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
     9
#include "SDL_main.h"
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    10
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    11
/*******************************************************************************
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    12
                 Functions called by JNI
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    13
*******************************************************************************/
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    14
#include <jni.h>
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    15
7663
53fe1b64eb2d More non C89 compliant comments
Gabriel Jacobo <gabomdq@gmail.com>
parents: 7501
diff changeset
    16
/* Called before SDL_main() to initialize JNI bindings in SDL library */
7501
b27825bb5879 Android: Removed all unnecessary dependencies on C++.
Eric Wing <ewing . public |-at-| gmail . com>
parents: 7467
diff changeset
    17
extern void SDL_Android_Init(JNIEnv* env, jclass cls);
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    18
7663
53fe1b64eb2d More non C89 compliant comments
Gabriel Jacobo <gabomdq@gmail.com>
parents: 7501
diff changeset
    19
/* Start up the SDL app */
8694
244c7784723b Fixed unused local variable warning.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 8616
diff changeset
    20
int Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj)
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    21
{
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    22
    /* This interface could expand with ABI negotiation, calbacks, etc. */
4998
a514bfe6952a The window is changed to reflect the actual screen dimensions, for now.
Sam Lantinga <slouken@libsdl.org>
parents: 4964
diff changeset
    23
    SDL_Android_Init(env, cls);
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    24
7281
cd5516b9263d Added some extra protection to notify the developer if they haven't initialized the application properly.
Sam Lantinga <slouken@libsdl.org>
parents: 6354
diff changeset
    25
    SDL_SetMainReady();
cd5516b9263d Added some extra protection to notify the developer if they haven't initialized the application properly.
Sam Lantinga <slouken@libsdl.org>
parents: 6354
diff changeset
    26
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    27
    /* Run the application code! */
9006
98c808d72e20 Fixed bug 2638 - (Signed) Can't create signed apps in Android
Sam Lantinga <slouken@libsdl.org>
parents: 8694
diff changeset
    28
    /* Use the name "app_process" so PHYSFS_platformCalcBaseDir() works.
98c808d72e20 Fixed bug 2638 - (Signed) Can't create signed apps in Android
Sam Lantinga <slouken@libsdl.org>
parents: 8694
diff changeset
    29
       https://bitbucket.org/MartinFelis/love-android-sdl2/issue/23/release-build-crash-on-start
98c808d72e20 Fixed bug 2638 - (Signed) Can't create signed apps in Android
Sam Lantinga <slouken@libsdl.org>
parents: 8694
diff changeset
    30
     */
4999
55fccf89b340 Make sure we shut down the app if SDL_main() returns instead of exiting.
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    31
    int status;
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    32
    char *argv[2];
9006
98c808d72e20 Fixed bug 2638 - (Signed) Can't create signed apps in Android
Sam Lantinga <slouken@libsdl.org>
parents: 8694
diff changeset
    33
    argv[0] = SDL_strdup("app_process");
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    34
    argv[1] = NULL;
4999
55fccf89b340 Make sure we shut down the app if SDL_main() returns instead of exiting.
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    35
    status = SDL_main(1, argv);
55fccf89b340 Make sure we shut down the app if SDL_main() returns instead of exiting.
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    36
6186
e565ac981de6 Fixed bug 1293 - [Android] Support Pause/Resume
Sam Lantinga <slouken@libsdl.org>
parents: 6044
diff changeset
    37
    /* Do not issue an exit or the whole application will terminate instead of just the SDL thread */
7678
286c42d7c5ed OCD fixes: Adds a space after /* (glory to regular expressions!)
Gabriel Jacobo <gabomdq@gmail.com>
parents: 7677
diff changeset
    38
    /* exit(status); */
8694
244c7784723b Fixed unused local variable warning.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 8616
diff changeset
    39
244c7784723b Fixed unused local variable warning.
Philipp Wiesemann <philipp.wiesemann@arcor.de>
parents: 8616
diff changeset
    40
    return status;
4964
6c645018741e Build the SDL library as a shared object on Android, so it will work correctly with SDL_image and SDL_ttf.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
    41
}
4999
55fccf89b340 Make sure we shut down the app if SDL_main() returns instead of exiting.
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    42
6044
35448a5ea044 Lots of fixes importing SDL source wholesale into a new iOS project
Sam Lantinga <slouken@libsdl.org>
parents: 4999
diff changeset
    43
#endif /* __ANDROID__ */
35448a5ea044 Lots of fixes importing SDL source wholesale into a new iOS project
Sam Lantinga <slouken@libsdl.org>
parents: 4999
diff changeset
    44
4999
55fccf89b340 Make sure we shut down the app if SDL_main() returns instead of exiting.
Sam Lantinga <slouken@libsdl.org>
parents: 4998
diff changeset
    45
/* vi: set ts=4 sw=4 expandtab: */