本文转自:http://www.cnblogs.com/skywang12345/archive/2013/05/23/3092812.html 本文主要介绍在ndk中添加log的方法.然后,我们就可以通过log去调试ndk. 1 添加ndk对log支持 若需要添加ndk对log的支持,只需要通过以下2步即可实现. 1.1 修改Android.mk 如生成的库文件是“.so文件”,则在Android.mk中添加如下内容: LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -l…
NDK目录结构   NDK下载好之后目录结构如下:         目录名 描述 build   存放和编译相关的脚本文件,最外面的ndk-build就是调用该目录下的makefile文件,其中makefile文件都存放在build/core目录 docs  帮助文档 platforms  存放不同android版本,不同平台架构的头文件和库文件 prebuilt  存放和编译相关工具比如make.exe samples ndk代码例子,用根目录下的ndk-build即可编译 source 源码…
如果你的C++代码中出现了很多C++特有的库,例如<iostream>,<list>等,那么你还需要在jni的文件夹下添加一个Application.mk文件,文件内容为: APP_STL := stlport_static APP_STL := gnustl_static 示例 Application.mk : APP_ABI := armeabiAPP_STL := gnustl_static #GNU STL  APP_CPPFLAGS := -fexceptions -fr…
转:http://www.cnblogs.com/fww330666557/archive/2012/12/14/2817389.html 简单的示例: makefile文件: LOCAL_PATH:=$(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:=test-jniLOCAL_SRC_FILES := test-jni.cinclude $(BUILD_SHARED_LIBRARY) 如果有多个文件,可能有所不同吧,尚未尝试. 头文件:最好使用j…
默认情况下ndk不支持标准C++库,异常, rtti等   在ndk文档有关于C++ support的详细介绍   一. 使用C++标准库 介绍: 默认是使用最小额度的C++运行时库, 在Application.mk中添加APP_STL指明所需要的库 需要注意的是,目标手机或者模拟器上可能没有下面的共享库,此时就需要你作为静态库使用 ndk中各种库的支持情况   PS: stlport和gnustl的区别     Android NDK不提供STL的原因应该是因为版权问题.因为标准的GNU ST…
本文主要是说明一下在eclipse下如何对NDK进行配置 配置NDK 虽然现在基本上都使用Android Studio进行Android开发,但一些项目在eclipse中仍有运用,这里讲一讲eclipse的NDK配置 在最开始下载的adt里面是没有NDK这个选项的,那么就要进行配置,手动安装 eclipse界面下Help -> Install New Software... -> Work with 输入 https://dl-ssl.google.com/android/eclipse/,点…
反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/data/266751 下面开始进行反编译APK文件: 1.先将上面的apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录的一个文件下面(这里我选择D:\APKTool) 2.Win+R打开运行界面,输入c…
一.GetFieldID jfieldIDGetFieldID(JNIEnv *env, jclass clazz, const char *name, const char *sig); 返回类的实例(非静态)域的域 ID.该域由其名称及签名指定.访问器函数的Get<type>Field 及 Set<type>Field 系列使用域 ID 检索对象域. GetFieldID() 将未初始化的类初始化. GetFieldID() 不能用于获取数组的长度域.应使用GetArrayLe…
Android WebView学习 文章来源:小小懒羊羊个人知识管理库 权限: <uses-permission android:name="android.permission.INTERNET" /> 在WebView中使用JavaScript WebView myWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings();webSet…
转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C.C++ 和汇编语言)编写的应用程序和库进行交互操作. 1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Mac…