一.Android平台编程方式: 1.基于Android SDK进行开发的第三方应用都必须使用Java语言(Android的SDK基于Java实现) 2.自从ndk r5发布以后,已经允许完全用C/C++ 来开发应用或者游戏,而不再需要编写任何Java 的代码 Android程序运行在Dalvik虚 ...
分类:
移动开发 时间:
2017-01-30 23:41:21
阅读次数:
652
http://www.cnblogs.com/549294286/p/3766717.html 独占锁:是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。 乐观锁:每次不加锁,假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止 ...
分类:
编程语言 时间:
2017-01-25 16:29:46
阅读次数:
205
最近在做程序异常时堆栈信息获取相关工作,上一篇文章成功的在程序creash时写下了dump文件,而有些情况写dump文件是 不可以的,比如在jni开发时,C++只做底层处理,而整个项目是android工程,这个时候dump文件没有了优势,那么只能在程序 creash时把内存信息打印出来,获取输出到文 ...
分类:
编程语言 时间:
2017-01-21 07:48:36
阅读次数:
334
自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面我们将分别介绍目录区别和build.gradle种配置的区别(提示:在第一次用CMake时,最好在新建项目时勾选Include C++ Suppor ...
分类:
移动开发 时间:
2017-01-19 19:23:52
阅读次数:
267
platforms\android-9\arch-arm\usr\include\stdio.h:257:37: error: unknown type name '__va_list' 解决方法: 默认的android-9不兼容 Applicaton.mk 添加APP_PLATFORM := an ...
分类:
其他好文 时间:
2017-01-17 20:12:48
阅读次数:
1175
最近搞了一个调用第三方so库做登录认证的任务,以前对JNI没什么概念,最近学习了 《java核心技术》 本地方法 一章,把自己写的一些例子记录一下。 自己C语言真是渣渣,所以所有的例子都在可以包括基本API的基础上尽可能简单。以下所有例子都是在centos 7中测试的,window不太熟。 调用本地 ...
分类:
编程语言 时间:
2017-01-13 22:24:51
阅读次数:
344
昨晚安装另一个版本的eclipse,启动时出现了“Failed to load the JNI shared library jvm.dll”错误; 1、刚开始以为是因为当时没有将旧版本删除干净,于是就找了原来的安装目录,并没有发现残留的配置文件以及启动文件什么的; 2、于是猜测,新安装的这个版本目 ...
分类:
系统相关 时间:
2017-01-13 14:52:06
阅读次数:
160
在实际项目中,Java有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell。先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本。 JAVA调用很简单,例子如下: 首先是shell脚本 [plain ...
分类:
编程语言 时间:
2017-01-09 22:11:44
阅读次数:
272
转自Gityuan的Android开篇,对自我学习作进一步整理。 Android系统以Linux内核作为基底,上层采用Native层和Java层。系统分为内核空间和用户空间,并通过系统调用(Syscall)连通。用户空间主要采用C++和Java代码实现,通过JNI技术连通Java层和Native层( ...
分类:
移动开发 时间:
2017-01-03 07:16:54
阅读次数:
294