Android 开发了一段时间,一方面 ,感觉不留下点什么.有点对不起自己, 另一方面,好记性不如烂笔头,为了往后可以回头来看看,就当做是笔记,便决定开始写博客.废话不多说 ! 今天想搞一搞 ndk 和jni  ,, 现在开始写一个简单的demo  1. 创建一个新的工程 2. 创建一个新的类 JniText.java  点击Build--Make Project  后     选中工程 点击F4键 sdk location 中 Android ndk location 选择配置ndk 的路径 …
1. 创建一个新的工程 2. 创建一个新的类 JniText.java  点击Build--Make Project  后     选中工程 点击F4键 sdk location 中 Android ndk location 选择配置ndk 的路径    没有下载的可以到这下载:http://wear.techbrood.com/tools/sdk/ndk/ 保险起见 点击查看 local.properties 文件    ndk.dir=D\:\\ndk\\android-ndk-r10e  …
基础环境: 操作系统 —— Windows 7 Android Studio —— 1.5.1(android-studio-bundle-141.2456560-windows.exe) NDK —— android-ndk32-r10-windows-x86_64.zip JDK —— jdk-7u79-windows-x64.exe 最最先,参考project的readme:ReadMe 第一步,导入google 的 Hello JNI sample: 第二步,配置gradle: 首先,在…
1.下载ndk(会下载到sdk目录下) 2.配置 3.配置build.gradle(app) android { defaultConfig { ndk { moduleName "JniDemo" //生成so名称 abiFilters "armeabi","armeabi-v7a","x86" //输出指定三种abi体系结构下的so库,可忽略 //ldLibs "log" 添加log库,看自己需求 }…
cd app/src/main javah -d jni -classpath ../../build/intermediates/classes/debug net.sourceforge.lame.Lame 头文件 net_sourceforge_lame_Lame.h 会放在app/src/main/jni目录下…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.android.com/ndk/downloads/index.html PS:需要FQ,建议下载r9+的版本. 国内下载地址: http://www.wanandroid.com/tools/ide#NDK 解压 NDK包[建议在未打开Android Studio的情况下] 注:解压路径不要出现空格和中…
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西:另外就是为了效率更加高些.如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin,配置Cygwin ,然后需要编译生成,相当的蛋疼. 在AS中新建一个Project,然后再新建一个class为TestHello,在内部声明native方法(jni使用的定义,后面系列教程会细说). public class TestHello { public native static String getCL…
最近在将一个小应用从eclipse开发迁移到android studio,程序中有native代码实现,在eclipse是靠Android.mk这么个mk文件来组织编译的,但到android studio上就不行了,因其是靠gradle组织,所以makefile里的配置要转换为build.gradle里的语句(尽管实际上gradle也是组织一个mk文件),同时在迁移过程中遇到了一些问题,这里记录一下,以备后查. Android的JNI开发主要有两中情况:一种是使用已经编译好的.so动态库:一种是…
我要重新拿回持之以恒徽章!! 老规矩,先说看能学会什么:ANDROID STUDIO下NDK的使用方法.JNI的基本使用方法,C语言调用JAVA的方法. 首先要下载NDK,如果你没有VPN可以来http://www.androiddevtools.cn/进行下载.下载后解压到任意目录. 其次,新建一个安卓项目.在MainActivity里添加一个Native方法. public native void showDialog(); 这里不以HelloWorld举例了.来使用Java来调用C语言的方…
从Eclipse时代到Android Studio普及,开发工具越来越好用.早些时候还需要安装Cygwin工具,从Android Studio1.3以后,在Android 环境开发JNI程序搭建开发环境变得相对简单.这里就来介绍一下急于Android Studio如何进行jni开发. 首先准备基本工具,Android Studio(>=1.3.x),NDK(ndk-r10-e).打开Android Studio 建立一个空工程,关联上NDK,操作步骤方式如下图: 设置好NDK之后,开始设置gra…
源地址:http://www.voidcn.com/blog/chengkaizone/article/p-5761016.html 好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好. 学了一年多的硬件,现在来做android,不知道是对是错,跟着感觉走,开始总是想把android和硬件挂上勾,所以第一个android应用写的是关于蓝牙的.现在学习NDK开发,有时说得也是JNI开发.那为什么要学习JNI,JNI会学习到比较底层的东西,java可以实现上层应用的开发,但是不能写底层驱…
在AS中进行 NDK 开发之前,我们先来简单的介绍几个大家都容易搞懵的概念: 到底什么是JNI,什么是NDK? 何为“交叉编译”? 先看什么是 JNI?JNI 的全称就是 Java Native Interface,即java本地开发接口.可能大家和我一样,一听到接口什么的就犯懵:“我也知道这是java本地开发接口的意思,但它具体是个什么意思我还是搞不明白.”其实JNI它就是一种协议,一说协议,那它就是对某种东西的一个规范和约束,说的好听一点就是标准化.如果你想用我这个东西,那你必须要遵守我这边…
使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到使用gradle的方案,摸了几天,总算是摸清楚了. 其实找对了方法,用android studio配置环境要比eclipse简单很多,首先是预先准备的环境: 1.Android studio,官网最新版,我用的是2.3.1: 2.OpenCV4Android,官网最新版,我用的3.2.0: 就这两个…
前言: Android开发中常常会使用到第三方的.so库.在使用.so库的时候就要用到JNI编程.JNI是Java Native Interface的缩写.它提供了若干的API实现了Java和其它语言的通信(主要是C&C++).开发中一般都用第三方的库,非常多时候也可能我们自己来编写C或者C++来实现JNI编程,这篇博客主要是介绍Android studio 使用NDK工具来开发JNI编程. 环境配置 JNI编程须要满足例如以下前提: 你必须有安装Android studio开发idea编辑器(…
Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小demo.这期间有许多坑,网上资料有的用eclipse,有的用Android studio,后者资料少一些,在做的过程中出现了许多问题,还好最后都一个一个解决了,以下是总结,希望后来者少走弯路,写的略微简略,但是比较全面完整. 1,建立一个新工程,只有一个MainActivity,里面加载库文件并且…
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在win下的NDK配置步骤所有失效. 为此,花费了大量时间用来查阅资料,在此,记录下来,分享给大家供以后配置中作为參考. 2.环境 本人使用的开发配置 是:MAC OS 10.10 +androioid studio 1.2+android-ndk-r10e-darwin-x86_64+git . 其它配…
Android Studio下的简单网页解析 一.导入数据 导入前添加依赖 implementation 'org.jsoup:jsoup:1.11.3' 使用字符串导入 String html = "<html><head><title>这是一个title</title></head>" +"<body><p>这里是一个html里的内容</p></body></…
Android的APP开发基本都是使用Java或者跨平台框架进行开发的,对于很多APP来说已经足够了,但是,对于提供功能给外部使用或者性能要求很高的需求下,如图像处理等,可能会需要C/C++库的支持,这就需要借助NDK,另外,NDK在可以起到代码保护的作用,因为其反编译查看源码难度比java更大. Java代码是不能直接调用原生的C++代码的,C++代码需要借助NDK暴露一个本地接口给JAVA来调用的,原理很多资料都有介绍,这里就不重复了,这里,主要演示一下在Android Studio下如何集…
由于工作内容的关系,对于NDK的工作涉及比较广(保密性,安全性),所以本章内容讲述一下NDK的基本使用过程. 网上也有很多这样的教程或者描述,但描述的并不完全 开发工具:Android Studio 2.1.2 NDK版本:android-ndk-r10e,支持64位so库的编译 JDK版本:1.8 64位 使用步骤如下: 第一步:NDK环境的搭建 ①jdk,Android SDK这些准备充分(只要能正常使用Android Studio的,这一条基本不用考虑) ②下载NDK,可以通过Androi…
什么是HierarchyViewer Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,下面来详细介绍如何在Android Studio开发环境下使用Hierarchy Viewer. 如何在Android Studio开发环境下使用HierarchyViewer 1.启动模拟器,通过模拟器…
参考文章: http://www.th7.cn/Program/Android/201509/550864.shtml http://www.open-open.com/lib/view/open1451917048573.html http://blog.csdn.NET/sodino/article/details/41946607 http://www.codes51.com/article/detail_197383.html AndroidStudio没有像Eclipse那样的一键ad…
写在前面的话:本文来源:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 下载安装 下载AS前先说下,AS安装包分为含SDK版本和不含SDK版本下载,如果你有SDK,那么完全可以下载不含SDK版本:不过下载了含SDK版本也没事,安装时选择自定义SDK也可以,安装后重新指定SD…
NDK&JNI开发总结 简介 附个不错的博客 https://www.jianshu.com/p/87ce6f565d37 在Android Framework中,需要提供一种媒介或 桥梁,将Java层(上层)与C/C++层(下层)有机的联系起来,使得他们互相协调完成某些任务.而充当这种媒介的就是Java本地接口(JNI,Java Native Interface).JNI提供一些列的接口,允许Java类与C/C++等本地编辑语言(在JNI中,这些语言被称为 本地语言)编写的应用 程序.模块 .…
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual Studio中SQLite数据库:使用SQLite源代码文件和使用Cocos2d-x提供的库文件.1.使用SQLite源代码文件SQLite是C编写的开源的数据库,我们可以在http://www.sqlite.org/download.html网址下载最新的SQLite源代码,如我下载的sqlite…
上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目后,如何通过Android Studio去对华为软件开发云代码仓库进行更新.上传代码等操作. 首先,打开Android Studio,将上一章通过Android Studio新建的项目,打开.如下图所示. 然后,我们在Android Studio中进行代码修改,如下图所示.代码[tv.setText…
Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个Library(Module)以后,我们可以在里面写东西了. 我在Library(Module)简单了写了一个计算加法的工具类 3. 生成jar包和aar包 完成上面步骤以后,在工程里添加我们写的Library(Module) 编译一下工程,就可以生成jar包和aar包,最简单的方法就是Run或者S…
当开发一个app模块个数很多的时候,资源文件就会特别多,布局也会多起来,这时所有的layout都放在同一个目录下,就会显得臃肿,而且不好找相应的布局. 最近看到相关资料,发现在Android Studio下可以配置多个res目录,用来分割不同的模块. 如下图所示,可以在一个新的模块的res目录下 创建各种资源目录: 当然还可以在res-qa目录下创建 drawable,values等目录 这些资源文件可以和原来的一样直接R文件引用. 上面仅仅是效果,还需要在 build.gradle中进行配置…
android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间. 参考:安卓单元测试相关概述h…
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件所在位置是<工程目录>\cocos2d\external\curl\prebuilt\win32目录中,头文件在<工程目录>\cocos2d\external\curl\include\win32目录中.首先,我们需要配置头文件搜索路径,选中HelloCpp工程,打开菜单“项目”→ “…
在我们使用Eclipse时,我们常常使用的第三方类库文件大多都是jar包形式,用起来很方便.但是jar包只能打包class文件,对于Android UI类库而言,我们常常需要打包资源文件,对于界面不多的情况,我们可以通过反射来调用,把资源文件都通过这个反射的R引用出来 ,但是太多打jar包就行不通了. 在Eclipse下我们还可以通过将一个工程作为另一个工程的类库存在来解决这个问题,在Android Studio中提供了一种新的打包方式,那就是aar ,它和jar包的不同之处就在与aar包中将资…