`

ndk中打印log

 
阅读更多

编译报错: undefined reference to `__android_log_print',于是按照这篇博客的指引,加入了ldLibs "log", "z", "m"

 defaultConfig {
        applicationId "com.yuzhiyun.listenforuninstall"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        ndk{
            moduleName "UninstallKit"
            ldLibs "log", "z", "m"
        }
    }

 就编译通过了,事实上,那篇博客也很好的介绍了在ndk中打印log的步骤.

在c文件中加入:

[cpp] view plain copy
 
在CODE上查看代码片派生到我的代码片
  1. #ifndef LOG_TAG  
  2. #define LOG_TAG "ANDROID_LAB"  
  3. #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
  4. #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)  
  5. #endif  

在头文件中加入:

 

[cpp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. #include <android/log.h>  


最为关键的是在APP配置文件中加入以下代码:

 

 

[cpp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. ldLibs "log""z""m"  


这段代码放在

 

android {
ndk {
    //添加代码这里
   }
}

 打印log举例:

LOGD("crate process success,current child pid = %d", pid);
分享到:
评论

相关推荐

    基于 Android NDK 的学习之旅-----JNI LOG 打印

    本教程将带你踏上“基于Android NDK的学习之旅”,重点探讨如何在JNI中进行LOG打印,以便于调试和理解代码执行过程。 首先,我们需要了解NDK。Android NDK(Native Development Kit)是Google提供的一套工具,用于...

    NDK开发C/C++配置Log打印日志

    要配置NDK开发中的Log打印,我们需要以下几个步骤: 1. **设置预处理器宏**: 在C/C++源文件中,使用`__android_log_print()`函数来打印日志。但首先,需要在源文件中包含`&lt;android/log.h&gt;`头文件,并定义预处理器宏...

    NDK C程序中打印示例myjni

    在 NDK 中, printf() 没法输出,所以我们需要借助 log 库来将我们 c 代码库中需要输出的内容,通过 java 控制台输出。调用函数 __android_log_print(), 就可以在 Eclipse 中,查看 LogCat 来查看相关的输出信息了。

    log4cpp Android NDK 测试程序

    在Android NDK中使用`log4cpp`,首先需要将库编译为适用于Android架构的版本。这通常涉及交叉编译,需要设置正确的交叉编译工具链,并确保库与Android的ABI(Application Binary Interface)兼容。例如,对于armeabi...

    Log过长的打印

    Log长度过长时 采用多条打印的工具类 。。。。。。。。。。

    安卓平台so打印log

    总结来说,安卓平台上的SO文件打印LOG是通过集成Android的logging框架来实现的,这需要在C/C++代码中引入`android/log.h`,定义LOG TAG和宏,然后调用`__android_log_print`函数。在开发和调试阶段,LOG能够提供宝贵...

    NDK调试代码

    ndk开发中log打印信息的文件

    NDK里的include文件夹

    此外,NDK还提供了对Android系统服务和框架API的原生访问,例如通过`&lt;android/log.h&gt;`进行日志打印,或者使用`&lt;android/app/Application.mk&gt;`和`&lt;android/ndk-info.mk&gt;`来控制编译选项和优化。 总之,正确配置和...

    android ndk开发实例代码

    此外,`__android_log_print()`宏可用于在Android日志系统中打印调试信息。 6. **性能优化**:NDK开发的一个主要目标是提升性能。通过使用C++,我们可以利用多线程、向量化运算等特性,但同时也需要注意内存管理和...

    NDK JNI的学习

    - 使用`__android_log_print()`等日志打印函数辅助调试。 6. **注意事项** - ABI兼容性:不同的设备可能支持不同的CPU架构,因此需要为每个支持的ABI生成相应的.so文件。 - 内存管理:JNI中需要手动进行内存分配...

    NDK_Sample_HelloWorld

    在jni目录下的`main.cpp`文件中,我们通常会写入简单的打印语句,如下所示: ```cpp #include #include extern "C" JNIEXPORT jstring JNICALL Java_com_example_ndksample_MainActivity_stringFromJNI( JNIEnv...

    Eclipse NDK 开发之 HelloWorld

    Eclipse NDK 开发是Android应用开发中的一个重要领域,它允许开发者使用原生代码(如C++)来实现性能敏感的部分或系统级功能。在本篇文章中,我们将深入探讨如何利用Eclipse NDK进行HelloWorld应用程序的开发。 ...

    Android ndk cpp 线程运行 java 方法

    当C++线程启动时,它会调用Java方法`javaMethod`,并在Logcat中打印出消息。 这个示例展示了如何在Android的C++线程中调用Java方法,以及如何配置NDK项目。这种跨语言的通信方式对于实现高效能的计算或者利用C++库...

    Android NDK入门,C与Java的互相调用Demo

    当你运行应用时,这个本地方法会被调用,可能在日志中打印出一条消息,表明C和Java之间的通信成功。 总之,Android NDK和JNI的结合使用为开发者提供了更多的灵活性,可以利用C/C++的优势进行优化,尤其是在图形处理...

    Android NDK+JNI 练习2

    这通常涉及到使用`__android_log_print`来输出调试信息,或者在Java代码中添加Log语句。 总结起来,"Android NDK+JNI 练习2"是一个实践性的教程,旨在教你如何在C/C++代码中创建和操作Java对象。通过这个过程,你会...

    最新Android版本、代号、对应API/NDK级别、发布时间及市场份额

    这个版本引入了画中画模式、自动填充框架、后台限制(Doze模式和App Standby)以及通知渠道等功能,旨在提高电池寿命和性能。 2. **Android Nougat (7.1.1)** - API Level 25 - 发布于2016年10月。主要改进包括多...

    android ndk 开发实例

    例如,在 `stringFromJNI()` 方法中,使用了 `__android_log_print()` 函数来打印一条日志信息。 #### 四、构建本地库 1. **Makefile 配置**:同样在 `jni` 文件夹下创建了一个 `Android.mk` 文件,该文件用于配置...

    ndk demo-android studio.zip

    这个函数会在Java中被调用,返回一个字符串,并在控制台打印一条日志。 最后,在Android Studio中,我们可以运行`assembleDebug`任务来编译原生代码,然后点击运行按钮启动应用。如果一切配置正确,你将在设备或...

    NDK 完成卸载后打开调查问卷

    需要了解Android NDK的API,如`android_util_Log`用于打印日志,`JNIEnv`和`jobject`等指针用于访问Java对象。 5. **注册JNI函数**:在C/C++的初始化代码中,使用`RegisterNatives`方法将Java层的JNI接口与本地实现...

Global site tag (gtag.js) - Google Analytics