1.错误1: android mk文件没有定义
$ ndk-build
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /cygdrive/e/heima5
/day2/code/ndkhelloworld/jni/Android.mk
/cygdrive/d/TDDownload/android-ndk-r6-windows/android-ndk-r6/build/core/add-appl
ication.mk:116: *** Android NDK: Aborting...    .  Stop.

错误2: c代码编译不通过
$ ndk-build
Compile thumb  : hello <= Hello.c
E:/heima5/day2/code/ndkhelloworld/jni/Hello.c: In function 'Java_cn_itcast_ndk1_
DemoActivity_helloFromJNI':
E:/heima5/day2/code/ndkhelloworld/jni/Hello.c:8: error: 'ctr' undeclared (first
use in this function)
E:/heima5/day2/code/ndkhelloworld/jni/Hello.c:8: error: (Each undeclared identif
ier is reported only once
E:/heima5/day2/code/ndkhelloworld/jni/Hello.c:8: error: for each function it app
ears in.)
E:/heima5/day2/code/ndkhelloworld/jni/Hello.c:8: error: expected ';' before 'c'
make: *** [/cygdrive/e/heima5/day2/code/ndkhelloworld/obj/local/armeabi/objs/hel
lo/Hello.o] Error 1

错误3:方法的签名不对应
java.lang.reflect.Method.invokeNative
java.lang.UnsatisfiedLinkError

错误5:
02-11 03:24:53.925: E/AndroidRuntime(5763): Caused by: java.lang.UnsatisfiedLinkError: Library Hello not found
静态代码块里面加载的库文件不正确

6.C库中逻辑错误:
02-11 03:28:59.074: INFO/ActivityManager(59): Displayed activity cn.itcast.ndk1/.DemoActivity: 1010 ms (total 246132 ms)
02-11 03:29:00.844: INFO/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-11 03:29:00.844: INFO/DEBUG(31): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
02-11 03:29:00.854: INFO/DEBUG(31): pid: 6262, tid: 6262  >>> gefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefgefge <<<
02-11 03:29:00.854: INFO/DEBUG(31): signal 11 (SIGSEGV), fault addr bee30000
02-11 03:29:00.854: INFO/DEBUG(31):  r0 bee2f7c0  r1 bee2f7c4  r2 bee2f7c7  r3 00000839
02-11 03:29:00.854: INFO/DEBUG(31):  r4 00000067  r5 00000004  r6 4185153f  r7 4186bd14
02-11 03:29:00.854: INFO/DEBUG(31):  r8 bee2f7d0  r9 4186bd0c  10 4186bcf4  fp 00000000
02-11 03:29:00.854: INFO/DEBUG(31):  ip 80901428  sp bee2f7b8  lr 8090033b  pc afd1cb6c  cpsr 20000030
02-11 03:29:01.206: INFO/DEBUG(31):          #00  pc 0001cb6c  /system/lib/libc.so
02-11 03:29:01.214: INFO/DEBUG(31):          #01  pc 00000338  /data/data/cn.itcast.ndk1/lib/libhello.so
02-11 03:29:01.214: INFO/DEBUG(31): code around pc:
02-11 03:29:01.224: INFO/DEBUG(31): afd1cb4c b005d1e8 bdf01c28 00023828 000000f0
02-11 03:29:01.224: INFO/DEBUG(31): afd1cb5c 1c02b510 3201e000 2b007813 5cccd1fb
02-11 03:29:01.224: INFO/DEBUG(31): afd1cb6c 330154d4 d1fa2c00 46c0bd10 428b7803
02-11 03:29:01.234: INFO/DEBUG(31): afd1cb7c 2b00d004 3001d001 2000e7f8 46c04770
02-11 03:29:01.234: INFO/DEBUG(31): afd1cb8c 2300b510 3301e004 d1012a00 e0042000
02-11 03:29:01.234: INFO/DEBUG(31): code around lr:
02-11 03:29:01.244: INFO/DEBUG(31): 80900318 4b0db510 a901b082 681b447b 46681c04
02-11 03:29:01.244: INFO/DEBUG(31): 80900328 23659300 2366700b 2367704b f7ff708b
02-11 03:29:01.244: INFO/DEBUG(31): 80900338 6822efea 23a74905 4479009b 1c2058d3
02-11 03:29:01.254: INFO/DEBUG(31): 80900348 b0024798 46c0bd10 00000034 00000016
02-11 03:29:01.265: INFO/DEBUG(31): 80900358 64636261 6c6c6568 7266206f 6a206d6f
02-11 03:29:01.265: INFO/DEBUG(31): stack:
02-11 03:29:01.274: INFO/DEBUG(31):     bee2f778  00000000 
02-11 03:29:01.284: INFO/DEBUG(31):     bee2f77c  afd103f0  /system/lib/libc.so
02-11 03:29:01.284: INFO/DEBUG(31):     bee2f780  afd41724  /system/lib/libc.so
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f784  000000dc 
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f788  000013fc 
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f78c  000001b8 
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f790  80813b00  /system/lib/libdvm.so
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f794  0000ccb0  [heap]
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f798  4186bcf4 
02-11 03:29:01.305: INFO/DEBUG(31):     bee2f79c  afd0be39  /system/lib/libc.so
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7a0  00000000 
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7a4  b0004998  /system/bin/linker
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7a8  b0014df4 
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7ac  80900319  /data/data/cn.itcast.ndk1/lib/libhello.so
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7b0  df002777 
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7b4  e3a070ad 
02-11 03:29:01.314: INFO/DEBUG(31): #00 bee2f7b8  0000aa50  [heap]
02-11 03:29:01.314: INFO/DEBUG(31):     bee2f7bc  8090033b  /data/data/cn.itcast.ndk1/lib/libhello.so
02-11 03:29:01.334: INFO/DEBUG(31): #01 bee2f7c0  64636261 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7c4  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7c8  66656766 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7cc  67666567 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7d0  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7d4  66656766 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7d8  67666567 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7dc  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7e0  66656766 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7e4  67666567 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7e8  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7ec  66656766 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7f0  67666567 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7f4  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7f8  66656766 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f7fc  67666567 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f800  65676665 
02-11 03:29:01.334: INFO/DEBUG(31):     bee2f804  66656766

说明c语言代码的库挂掉了.

7.需要重启模拟器:
02-11 04:00:33.934: D/dalvikvm(10670): No JNI_OnLoad found in /data/data/cn.itcast.ndk2/lib/libhello.so 0x44f3e910, skipping init

8.c语言中的数组结束是通过\0来标记的故:

char* arr[6] = {'h','e','l','l','o','\0'};//char* arr[5] = {'h','e','l','l','o'}这个会出问题

而:char* arr = "hello";则没有问题,且和上一行效果一样。

9. 使用javah生成.h文件时,

如果在D:\Android\project\ndk\bin\classes中,执行javah com.heima.ndk.ndkActivity无法访问,找不到类文件的话

那就在D:\Android\project\ndk\src中,执行javah com.heima.ndk.ndkActivity,或许能成功

NDK常见错误的更多相关文章

  1. Android NDK 开发(三)--常见错误锦集合Log的使用【转】

    转载请注明出处:http://blog.csdn.net/allen315410/article/details/41826511  Android NDK开发经常因某些因素会出现一些意想不到的错误, ...

  2. JNI常见错误整理

    ndk开发常见错误1. android.mk文件不存在 $ ndk-buildAndroid NDK: Your APP_BUILD_SCRIPT points to an unknown file: ...

  3. 初识JAVA(二)(送给Java和安卓初学者)----常见错误

    博主接着上篇的来讲哦,以后的更新中,博主会出一些练习题,有兴趣的可以做做然后吧代码粘贴到下面,大家可以一起研究学习,一起进步,本篇文章主要讲的是: 一.常见错误 二.连接上篇一起的训练 无论是什么方向 ...

  4. ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock

    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错:E: Could not ...

  5. coreseek常见错误原因及解决方法

    coreseek常见错误原因及解决方法 Coreseek 中文全文检索引擎 Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和 ...

  6. Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

  7. C语言初学者代码中的常见错误与瑕疵(23)

    见:C语言初学者代码中的常见错误与瑕疵(23)

  8. struts2.5框架使用通配符指定方法常见错误

    struts2.5框架使用通配符指定方法(常见错误) 在学习struts框架时经常会使用到通配符调用方法,如下: <package name="shop" namespace ...

  9. .Net常见错误

    常见错误 #1: 把引用当做值来用,或者反过来 C++ 和其他很多语言的程序员,习惯了给变量赋值的时候,要么赋单纯的值,要么是现有对象的引用.然而,在C# 中,是值还是引用,是由写这个对象的程序员决定 ...

随机推荐

  1. AC日记——字典 codevs 4189

    4189 字典  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master 题解  查看运行结果     题目描述 Description 最经,skyzhong得到了 ...

  2. InnoDB引擎数据存放位置

    InnoDB引擎的mysql数据存放位置 采用InnoDB引擎的数据库创建表后,会在mysql数据存放目录下生成一个和数据库名相同的目录.该目录下包涵一个db.opt文件和该库下所有表同名的frm文件 ...

  3. HDU 1724 Ellipse 自适应simpson积分

    simpson公式是用于积分求解的比较简单的方法(有模板都简单…… 下面是simpson公式(很明显 这个公式的证明我并不会…… (盗图…… 因为一段函数基本不可能很规则 所以我们要用自适应积分的方法 ...

  4. vue 2.0 无法编译ES6语法

    # vue2.0 webpack 无法编译 ES6 语法 之前在使用 vue 1.x 时用 vue-loader@8.0.0 版本可以正常打包vue的代码,包括ES6语法也能正常转为ES5语法,但是当 ...

  5. 对于行高(line-height)的一些理解

    刚一开始学习这个特性的时候,总是出一些当时看起来很奇怪的问题.现在决定重新整理一下.毕竟使用css,十行揉在一起凑出效果是一种使用,知道为什么会有这种效果也是一种使用.我们需要做一些测试,所以首先需要 ...

  6. 记录下 js各种证件的正则验证

    身份证 /(^\d{15}$)|(^\d{17}([0-9]|X)$)/    护照 /^[a-zA-Z0-9]{3,21}$/   /^(P\d{7})|(G\d{8})$/    军官证或士兵证 ...

  7. Java代理模式汇总

    简介 代理模式即Proxy Pattern,23种java常用设计模式之一.其定义为:对其他对象提供一种代理以控制对这个对象的访问. UML类图 静态代理 目标接口 public interface ...

  8. AndroidPullToRefresh拉动效果配置

    最近用了 开源的 AndroidPullToRefresh 库,但是发现拉动时的效果有个很奇怪的地方,无论上下拉动,当列表滚动到顶部或底部时,会瞬间弹出半个列表高度的拉动提示,感觉很不舒服,这种提示根 ...

  9. 运动框架实现思路(js)

    思路:速度.(改变left,right,width,height,opacity) 2.缓冲动画. 3.多物体运动. 4.任意值变化. 5.链式运动. 6.同时运动.

  10. C#中的引用传递、值传递

      先来说下C#中的数据类型.分值类型和引用类型两大类. 值类型:直接存储数据的值,保存在内存中 引用类型:存储对值的引用,实际上存储的就是一个内存的地址 C#预定义的简单类型,像int,float, ...