Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android NDK release build

I trying to build my android project in release mode. Is there any optimization flag(s) I need to set in order to build my project in release mode?

like image 695
Rushikesh Talokar Avatar asked Jan 28 '13 15:01

Rushikesh Talokar


1 Answers

Unless you have created the Application.mk or defined your application as debuggable inside the AndroidManifest.xml you don't have to do anything because by default the application's modules are compiled in release mode by the ndk-build script.

Otherwise, you can use the APP_OPTIM directive inside the Application.mk file:

APP_OPTIM := debug
APP_PLATFORM := android-14
APP_STL := gnustl_static
APP_ABI := armeabi armeabi-v7a

From android-ndk-r8d/docs/APPLICATION-MK.html file:

APP_OPTIM
    This optional variable can be defined to either 'release' or
    'debug'. This is used to alter the optimization level when
    building your application's modules.

    A 'release' mode is the default, and will generate highly
    optimized binaries. The 'debug' mode will generate un-optimized
    binaries which are much easier to debug.

    Note that if your application is debuggable (i.e. if your manifest
    sets the android:debuggable attribute to "true" in its <application>
    tag), the default will be 'debug' instead of 'release'. This can
    be overridden by setting APP_OPTIM to 'release'.

    Note that it is possible to debug both 'release' and 'debug'
    binaries, but the 'release' builds tend to provide less information
    during debugging sessions: some variables are optimized out and
    can't be inspected, code re-ordering can make stepping through
    the code difficult, stack traces may not be reliable, etc...
like image 118
Alex Bitek Avatar answered Oct 19 '22 05:10

Alex Bitek