Android JNI编程基础:Java与Native层交互详解.pdfVIP

  • 0
  • 0
  • 约7.96千字
  • 约 6页
  • 2026-03-14 发布于北京
  • 举报

Android JNI编程基础:Java与Native层交互详解.pdf

Androidjni编程

1Android的jni与so与java

Android程序分2层,Java层与Native层。Java层是Java代码编译为dex文件的。

而Native层则是C++代码编译为so(动态库)。两者通过JNI(JavaNativeInterface)进

行。相比Java,Native层的安全性更高,隐蔽性更好,在某些情况下效率也更高。国内

的加密与检测通常都在Native层中进行。

2AndroidStudio的原生jni支持

AndroidStudio原生支持jni代码编程,可以直接创建并编译so库。需要修改gradle文

件以开启Jni支持。说明:

修改步骤:1

改dle‑2.10‑all.zip2修改

修./gradle/wrapper/gradle‑wrapper.properties使用gra

build.gradlebuildscript{dependencies{classpath

com.android.tools.build:gradle‑experimental:0.6.0‑a5//使用实验性gradle}}

3修改build.gradle(一个示例)

应用插件:com.android.model.application模型

{android{compidkVersion

23buildToolsVersion23.0.2defaultConfig

{applicationIdf8.hellonative

minSdkVersion.apiLevel

15targetSdkVersion.apiLevel23versionCode

1versionName1.0buildConfigFields{创建()

{类型int名称VALUE值1}}

I

Andridjni编程o

1Android的jni与so与java

Android程序分2层,java层与native层,java层就是java代码编译为dex文件的。而

native层则是c++代码编译为so(动态库)。两者使用jni(javanativeinterface)来进行链

接。相比于java,native层安全性更加高,隐蔽性更好,某种情况下效率更加高。国内的加密

与检测一般都放在native层中进行。

2AndroidStudio的原生jni支持

AndroidStudio原生支持jni代码编程,可以直接创建编译so库。需要修改gradle文件

以开启Jni支持。

说明:

修改步骤:

①修改./gradle/wrapper/gradle-wrapper.properties使用gradle-2.10-all.zip

②修改build.gradle

buildscript{

dependencies{

classpathcom.android.tools.build:gradle-experimental:0.6.0-a5//使用

实验性gradle

③修改build.gradle(一个示例)

applyplugin:com.android.model.application

model{

androi{

d

compidkVersion23

buildToolsVersion23.0.2

defaultConfig{

applicationIdf8.hellonative

minSdkVersion.apiLevel15

targetSdkVersion.apiLevel23

versionCode1

versionName1.0

buildConfigFields{

文档评论(0)

1亿VIP精品文档

相关文档