Android NDK调试方式之一: adb logcat

查看程序执行过程中所打印的log信息,用于辅助调试排除代码错误。

一、采用NDK安装包下Samples/hello-jni工程做实验

1)修改jni/hello-jni.c文件

#include <android/log.h>

__android_log_print(ANDROID_LOG_INFO, "HelloJniTag", "The value is %d", 1000);

2)修改jni/Android.mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c
LOCAL_LDLIBS    := -llog

include $(BUILD_SHARED_LIBRARY)

3)使用eclipse打开当前项目,运行测试,Debug As...

4)在eclipse的logcat监控窗口观察日志信息

二、NDK开发的一般步骤

1)启动eclipse创建android application工程;

2)创建activity应用类(可仿照HelloJni中HelloJni.java);

3)在activity应用类中加入native函数声明及调用;

     public native String  stringFromJNI();

    /* This is another native method declaration that is *not*
     * implemented by ‘hello-jni‘. This is simply to show that
     * you can declare as many native methods in your Java code
     * as you want, their implementation is searched in the
     * currently loaded native libraries only the first time
     * you call them.
     *
     * Trying to call this function will result in a
     * java.lang.UnsatisfiedLinkError exception !
     */
    public native String  unimplementedStringFromJNI();

    /* this is used to load the ‘hello-jni‘ library on application
     * startup. The library has already been unpacked into
     * /data/data/com.example.hellojni/lib/libhello-jni.so at
     * installation time by the package manager.
     */
    static {
        System.loadLibrary("HelloJni1");
    }

4)在命令行模式下使用javah生成jni头文件,并创建c或c++实现文件;

javah -jni -d jni -cp bin/classes:Android-20.jar  com.example.hellojni.HelloJni

5)在jni目录下创建Android.mk、Application.mk编辑脚本

#Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c
LOCAL_LDLIBS    := -llog

include $(BUILD_SHARED_LIBRARY)
#Application.mk

APP_ABI := all

6)修改AndroidManifest.xml文件,仿照HelloJni添加工程启动的Activity配置项。

7)eclipse启动Debug As...进行调试。

  

时间: 2024-10-18 12:58:17

Android NDK调试方式之一: adb logcat的相关文章

Android NDK调试出错Unknown Application ABI, Unable to detect application ABI&amp;#39;s的解决方式

今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了好久.最终找到了解决方式: 在project的jni目录以下新建一个Makefile类型的文件,文件名称为Application. (注:假设你不知道怎么新建Makefile类型的文件,能够把jni目录下的Android.mk文件在原地复制一份.然后重命名为Application.打开Applica

Android NDK调试出错Unknown Application ABI, Unable to detect application ABI&#39;s的解决方案

今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了好久,终于找到了解决方案: 在工程的jni文件夹下面新建一个Makefile类型的文件,文件名为Application.(注:如果你不知道怎么新建Makefile类型的文件,可以把jni文件夹下的Android.mk文件在原地复制一份,打开之后修改里面的内容即可). 如下图: Android NDK

我的Android进阶之旅------&gt;Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法

今天用CMD命令进行adb logcat时显示一堆的乱码,乱码如下: C:\Users\Administrator>adb logcat -s logcat --------- beginning of /dev/log/system --------- beginning of /dev/log/main D/logcat (10387): Group1 onInterceptTouchEvent瑙﹀彂浜嬩欢锛欰CTION_DOWN D/logcat (10387): Group2 onInt

Android NDK调试C++源码(转)

[原创文章,转载请保留或注明出处,http://download.csdn.net/download/bigmaxim/5474055] 1. 相关软件 adt-bundle-windows-x86.zip --- Eclipse集成ADT插件,需要联网安装相应的Android SDK. jdk-6u43-windows-i586.exe --- JDK6 Eclipse运行需要JAVA环境,编译ANDROID应用也需要JAVA编译器. android-ndk-r8e-windows-x86.z

Android NDK工程的编译和链接调试

前提条件:已经安装了JDK 6.0.android SDK.NDK r9和eclipsele4.2开发环境. 推荐下载Android开发的综合套件adt-bundle-windows-x86,再下载Android NDK既可以开始Android NDK程序的编程了. 1.     首先在eclipsele4.2上创建一个空的Android工程,无所谓,只要是一个Android工程就OK了. 2.     安装NDK开发的插件com.android.ide.eclipse.ndk_23.0.2.1

Android简易调试

调试 log出: adb logcat > xxx.txt连接真机profiler: adb forward tcp:54999 localabstract:Unity-com.gaeamobile.game.xianjian端口占用查看: 查看被占用端口对应的PID,输入命令:netstat -aon|findstr "54999"进程名查看: tasklist|findstr "XXX" //XXX PID

android 通过adb 和 ndk调试堆栈

打开终端 , 输入以下命令, armeabi是应用编译好的.so库的路径 adb logcat|ndk-stack -sym ./armeabi/ 如果堆栈报错,会弹出报错内容. 如下: C:\Users\JC>adb logcat | E:\Users\android-ndk-r10c\ndk-stack -sym "F:\aofei-new\frameworks\runtime-src\proj.android\obj\local\armeabi"********** Cra

Ubuntu 下 使用 adb logcat 显示 Android 日志

作者 : 万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s Set default fil

Qt on Android:将Qt调试信息输出到logcat中

版权全部 foruok .如需转载敬请注明出处(http://blog.csdn.net/foruok). 假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到程序输出的日志信息. Android SDK 中有 adb 工具,当你连接了目标设备,能够使用 adb logcat 查看 Android 设备上应用输出的日志. 先介绍一下 adb 工具的使用.一般我经常使用下列命令: adb logcat ,查看手机或其它设备上输出的全部日志 adb logca