NDK/JNI
安卓AndroidQ
关注,有好技术分享
展开
-
Android通过Socket与服务器进行通信
先上代码,可以先把代码下下来,对着代码看本文。代码地址是:https://github.com/huangtianyu/SocketDemo,代码记得点击star哦~ 总有些想尝试一些底层的人,之前做过socket开发,总是想能不能用socket实现手机和服务器直接通信。尝试了下,还是不难的。毕竟都是用Java写的,无论是Android端还是服务器端,都是对Socket的使用。下面给出具体代码。先看服务器端代码:Server.java package com.scu;...原创 2020-10-23 17:47:07 · 462 阅读 · 0 评论 -
Android利用JNI通过Socket与服务器进行通信
不多说,先上代码。记得点击star哦,代码地址是:SocketDemo上一篇文章写了如何通过Java层实现Socket和服务器的Socket进行通信,这一篇继续深究,写个如何通过native层实现socket和服务器进行通信。服务器端代码和前一篇博客代码一致,主要看下Android端的代码。首先看下Main2Activity的代码:Main2Activity.java package com.zqc.socketdemo; import android.app...原创 2020-10-23 17:46:24 · 729 阅读 · 0 评论 -
基于Android studio 2.2+ 向项目添加 C 和 C++ 代码并编译成so,指定ABI等全面的配置讲解
https://developer.android.com/studio/projects/add-native-code.html#existing-project转载 2017-09-15 16:20:38 · 266 阅读 · 0 评论 -
基于CMake 在Android studio2.2+ 中开发JNI
现在的开发工具基本上是AS2.0+以上,现在都已经快普及2.3.3版本了,而从2.2版本开始就支持CMake来搭建NDK的JNI开发环境来编写C/C++代码用到java的Android项目中转载自http://blog.csdn.net/yuankundong/article/details/52839460介绍在下载ndk的时候我们同时下载了CMake和LLDB,CM转载 2017-09-15 16:37:22 · 213 阅读 · 0 评论 -
使用AndroidStudio编写第一个JNI程序
1.简单介绍一下NDK和JNINDK:NDK是Native Development Kit的缩写,是Google提供的一套工具集,可以让你其他语言(C、C++或汇编)开发 Android的 JNI。NDK可以编译多平台的so,开发人员只需要简单修改 mk 文件说明需要的平台,不需要改动任何代码,NDK就可以帮你编译出所需的so库。JNI:JNI是Java Native Interface的缩写,它...转载 2017-10-18 14:23:42 · 10489 阅读 · 1 评论 -
Android jni的调用过程JNI_OnLoad(),利用Android NDK编写一个简单的HelloWorld
1、JNI简介JNI全称为Java Native Interface(JAVA本地调用)。从Java1.1开始,JNI成为java平台的一部分,它允许Java代码和其他语言写的代码(如C&C++)进行交互。并非从Android发布才引入JNI的概念的。2、JNI与NDK 简单来说,Android的NDK提供了一些交叉编译工具链和Android自带的库,这些Android的库可...转载 2017-09-20 17:51:24 · 3431 阅读 · 0 评论 -
AndroidJNI 通过C++调用JAVA
1. JNIEnv对象 对于本地函数 JNIEXPORT void JNICALL Java_video1_TestNative_sayHello(JNIEnv * env, jobject obj) { cout } JNIEnv类型代表Java环境。通过这个JNIEnv*指针,就转载 2017-09-13 11:35:39 · 184 阅读 · 0 评论 -
基于NDK开发完JNI代码后,Android studio中引入对应的so文件的方法
用NDK开发完相关的JNI代码后,不将源码开放,而用so文件给项目组的开发人员,基于2.0+版本 1、直接创建jni文件夹就可以2、做配置指定文件夹,在build.gradle配置中,配置如下的信息:sourceSets { main { jniLibs.srcDirs = ['libs'] }}转载 2017-09-15 16:25:48 · 194 阅读 · 0 评论 -
Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结 # 设置so文件生成路径 # set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $
Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结 # 设置so文件生成路径# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/jniLibs/${ANDROID_ABI}) 等等网址 http://blog.csdn.net/b2259909/article/details/585918...转载 2017-09-15 17:40:12 · 2778 阅读 · 0 评论 -
extern "c"用法解析
http://www.jianshu.com/p/5d2eeeb93590引言C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,转载 2017-09-18 15:24:31 · 355 阅读 · 0 评论 -
Android中关于JNI 的学习(一)对于JNIEnv的一些认识
一个简单的样例让我们初步地了解JNI的作用,可是关于JNI中的一些概念还是须要了解清楚,才可以更好的去利用它来实现我们想要做的事情。那么C++和Java之间的是怎样通过JNI来进行互相调用的呢?我们知道。在Android中,当Java文件被编译成dex文件之后,会由类载入器载入到Dalvik VM(DVM)中,由DVM来进行解释,翻译成机器语言之后,才干由机器来执行。而对于C/C++来转载 2017-09-20 08:58:00 · 321 阅读 · 0 评论