`
aigo
  • 浏览: 2635741 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

Android NDK 设置编译模式debug和release

阅读更多

 

原文:http://stackoverflow.com/questions/14564918/android-ndk-release-build

 

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...

 

 

 

分享到:
评论

相关推荐

    Android NDK翻译之Application

    3. **APP_OPTIM**:此选项用于指定编译模式,可设置为'release'或'debug'。'release'模式生成优化过的二进制文件,适合发布;'debug'模式生成便于调试的二进制文件。当你的应用配置为可调试(如AndroidManifest.xml...

    编译ffmpeg(ffmpeg6.0+android-ndk-r25c)生成的动态链接库.so文件

    2. **Android NDK 和 FFmpeg 编译** Android NDK (Native Development Kit) 是Google提供的一个工具集,允许开发者使用C/C++编写原生代码,并将其集成到Android应用中。编译FFmpeg需要NDK,这里使用的版本是r25c。 ...

    android-ndk-r16b-windows-x86_64.zip

    在`build.gradle`文件中添加NDK相关配置,指定本地源代码路径,选择使用的构建类型(例如,Release或Debug),以及选择要支持的CPU架构。 在Android Studio中,还可以利用NDK的C++支持,享受IDE提供的代码补全、...

    QT-Android NDK+OpenSSL.rar

    2. **交叉编译**:理解并配置NDK的交叉编译环境,包括设置ABI、构建类型(Debug或Release)等。 3. **依赖管理**:管理Qt与OpenSSL以及其他第三方库的依赖关系,确保所有库都能正确链接。 4. **错误调试**:在编译和...

    Android项目编译系统

    Android编译系统使用了一套专门的编译工具,包括Java编译器、Android Asset Packaging Tool (AAPT)、Android NDK等。 一、编译系统的主要组成部分: 1. Java编译器:负责将Java源文件编译成.class字节码文件,然后...

    NDK环境搭建和gui混淆.zip_android ndk_ndk jar_混淆

    接下来,**使用NDK进行开发**,你可以创建一个本地模块,通过`Android.mk`或`CMakeLists.txt`文件来编译C/C++代码。这些文件定义了编译规则和目标。`Android.mk`是旧的构建系统,而`CMakeLists.txt`是新引入的,支持...

    android Qt 编译

    在命令行中,导航到项目目录的`release`或`debug`子目录,然后运行以下命令: ``` path/to/androiddeployqt --gradle --input yourapp.pro --output . ``` 这将生成一个`android`子目录,其中包含`build....

    一键搭建Android4.4编译环境脚本

    7. 可能会配置编译选项,如目标设备架构和编译模式(如Release或Debug)。 通过使用这个一键搭建脚本,开发者或爱好者可以避免手动配置每一个组件,节省了大量时间,尤其对新手来说,这是一个非常有价值的资源,...

    Android studio Cmake-ndk

    整个流程完成之后,也就意味着我们成功地在Android Studio中通过CMake和NDK编译并生成了所需的共享库,并且能够将其应用到相应的工程中去。这个过程对于提升Android应用性能、利用本地代码优势以及集成第三方库等...

    Android源码编译参考文档.zip

    3. **编译选项**:根据目标设备的配置,选择合适的编译目标(如armeabi-v7a或arm64-v8a)和编译模式(如release或debug)。 4. **编译脚本**:执行`source build/envsetup.sh`并调用`lunch`命令选择构建目标。 5. **...

    Android-通过androidstudio和ndk生成Android平台的静态库以及使用静态库demo

    Make Project`,NDK会根据Android.mk文件编译C/C++源码并生成`.a`格式的静态库文件,通常位于`app/build/intermediates/cmake/debug/obj/armeabi-v7a`或`app/build/intermediates/cmake/release/obj/armeabi-v7a`...

    Android Studio编译库文件(so/a)

    编译成功后,生成的.so库文件会位于`app/build/intermediates/cmake/debug/obj`目录下,.a静态库则位于`app/build/intermediates/cmake/release/obj`。 七、使用原生库 在Java或Kotlin代码中,通过`System....

    cocos暑期实训-ballsVsBlocks打包APK.pptx

    ndk-build NDK_DEBUG=0可以编译出release版的二进制文件。 三、真机调试 真机调试是指在真实的Android设备上运行和调试应用程序。为了进行真机调试,需要配置Android环境,包括配置NDK_ROOT、SDK_ROOT和Java环境。...

    Browser源码能编译通过的

    此外,还需要特定的SDK(如Android SDK)和NDK(如Android NDK)用于移动平台的编译。 3. 配置环境:根据项目文档设置编译环境变量,例如指定编译目标(桌面还是移动设备)、编译配置(Release或Debug)等。 4. ...

    android-sdk_r21-windows.zip

    3. **构建工具**: 提供编译和打包应用程序所需的工具,如`aapt`(Android Asset Packaging Tool)处理资源,`apkbuilder`用于构建APK文件,以及`proguard`进行代码混淆和优化。 4. **Android平台**: `android-sdk_r...

    史上最强NDK入门项目实战.zip

    同时,需要在项目的build.gradle文件中指定本地库依赖,并设置编译模式(如Debug或Release)。通过NDK Build或CMakeLists.txt文件管理原生代码的构建过程。 四、JNI接口 JNI(Java Native Interface)是Java和原生...

    FFmpeng编译脚本和so库.rar

    这些脚本会根据NDK的环境变量,设置正确的编译选项,比如指定目标平台、编译模式(Release或Debug)、优化级别等。同时,为了兼容不同的Android版本和硬件架构,脚本可能还会涉及到动态链接库的分离构建,即为每个...

    可以成功编译的Launcher源码

    3. **构建配置**: 根据项目的README文件或build.gradle文件配置构建选项,如选择目标SDK版本、编译模式(Debug或Release)等。 4. **编译源码**: 使用Android Studio或命令行工具(如gradlew)执行编译命令,编译...

    编译Adb源码(VS2012)

    5. 创建解决方案配置:根据需要创建Debug和Release配置,分别对应Adb的调试和发行版本。 编译Adb源码: 1. 在VS2012中,选择相应的解决方案配置和目标平台(通常是x86或x64)。 2. 点击“构建”或使用快捷键编译...

    live555 android version

    这可能涉及到指定目标API级别(如Android 4.4对应的是API 19)、编译模式(如Release或Debug)以及armeabi-v7a等目标架构。 4. **修改Makefile**:根据Android项目需求,可能需要修改Live555的Makefile,添加适当的...

Global site tag (gtag.js) - Google Analytics