现象:我写了NDK程序,在标准版android2.2上运行正常。
然后使用工具用做了个精简版的android,精简了所有的应用程序和部分库,
再运行NDK程序时,报错异常中止。Log中提示
E/AndroidRuntime(1926): java.lang.ExceptionInInitializerError请教:
请问NDK的运行需要android哪些底层支持。
或者谁有相关的文档,官网里我没找到。
或者有什么方法可以知道它需要哪些库。

解决方案 »

  1.   

    http://img.my.csdn.net/uploads/201206/08/1339119568_3103.png或是大家给相个面,哪个库象是和ndk有关。
      

  2.   

    这个要看你在ndk的代码里面include了哪些头文件吧
      

  3.   

    #include <jni.h>
    #include <stdio.h>
    #include <stdlib.h>include了上面3个文件。
      

  4.   

    试验了一下,把.so文件复制到system/lib目录下就好了,不过还是奇怪,为什么正常版本的不需要另外复制.so文件,而这个版本需要呢?
      

  5.   

    linux ndk sdk jdk eclipse都装上就没问题了
      

  6.   

    androidManifest.xml  定义API版本的问题吧,更改到较低版本试一试!
      

  7.   

    哈哈 楼主好像是犯了个低级错误。
    你原来的工程肯定是集合了NDK build,所以每次编译的时候会自动将生成的so文件拷贝到libs目录下。
    而你后来的工程,只是想利用这个so文件,而你却没有手动拷贝过去,所以系统在loadLibrary的时候 找不到so文件就报错啦。
      

  8.   


    好像大概八成没准你说到点子上了,
    你说的集合了NDK build是什么意思,是用eclipse编译.so文件吗?
    我的apk文件里已经包含.so文件了,但是没有安装到/data/data/my package/libs下面。
    全版本也没有安装上,只不过我通过eclipse的时候他给.so文件装上了。
    我的库名libimg2gray.so,这样命名符合要求不?
      

  9.   

    现在的症状是:
    编译完的apk包含库文件,
    但是使用把apk复制到/system/app目录下的安装方法,不能复制这个.so文件。
    使用adb install abc.apk的方法, ok
    使用eclipse,直接在目标板上运行,OK。这是肿么回事?