JNI初步入门后,在传递数据的时候,遇到一个需求:有多个数据需要在Java与C代码之间进行
转载 2017-05-09 17:43:00
394阅读
2评论
1. 什么是Monitor?    Monitor其实是一种同步工具,也可以说是一种同步机制,它通常被描述为一个对象,主要特点是:对象的所有方法都被“互斥”的执行。好比一个Monitor只有一个运行“许可”,任一个线程进入任何一个方法都需要获得这个“许可”,离开时把许可归还。通常提供singal机制:允许正持有“许可”的线程暂时放弃“许可”,等待某个谓词成真(条件变量
转载 2023-07-12 10:13:32
76阅读
# Android Java 对象JNI 问题 在 Android 开发中,JNI(Java Native Interface)是一个用于在 Java 代码中调用 C/C++ 代码的框架。当我们需要在 Java 和 C/C++ 之间传递对象时,会遇到如何将 Java 对象转换为 JNI 能够理解的格式的问题。本文将探讨这一问题,并提供代码示例,帮助开发者更好地理解和应用 JNI。 ## J
原创 2024-08-02 10:50:15
51阅读
[转]一个APK反编译利器Apktool 说起APK的汉化,目前大部分教程都是让用Hex Workshop或者Android ResEdit来做。但是实际操作后,就会发现:1、Hex Workshop操作繁琐,经常出现搜不到想要修改的字符的情况;2、Android ResEdit简单用用可以,修改稍微复杂一点就会出现整条整条丢字符串的情况;并且新内容不能比原内容长——谁能保证
java对象传输流C/S传输对象
转载 2023-06-26 11:09:38
150阅读
先作个总结:1.getApplicationContext()可以取到Application对象,而getContext()通常认为返回Activity对象(当然,事实上并不局限于Activity)。 2.对于Application,从Manifest文件中可以看出一个应用程序一般只有一个application节点。Application其实就是一个应用,即:当前应用程序只要还处于运行状态,那么就
转载 2023-07-06 14:52:55
183阅读
JNI和NDK是面试经常被问到的热点问题,在这里做一个记录。1.阐述你对JNI的理解  JNI的全称是Java Native Interface(Java本地接口)是一层接口,是用来沟通Java代码和C/C++代码的,是Java和C/C++之间的桥梁。通过JNI,Java可以完成对外部C/C++库函数的调用,相对的,外部C/C++也能调用Java中封装好的类和方法。  Java的优点是跨平台,和操
转载 2023-09-28 11:55:01
193阅读
JNI中的Java对象    Java本机接口提供了一个函数集来处理Java对象(使用方法/域)、句柄异常和用于线程的数据同步。这些函数在本机提供更好的访问Java对象的能力,允许用于更复杂的应用程序。这些函数的用法之一是被用来产生一个Java方法的回调,或者产生通信信息的回调。     1.访问JNI中的域     在Java类中有
转载 精选 2014-04-21 09:28:14
312阅读
今天先说一下JNI和NDK的概念,然后在记录一下CMake开发的步骤和注意事项概念JNI:Java Native Interface标准是Java平台的一部分,JNI是Java语言提供的让Java语言和其他语言(尤其是C/C++)进行沟通,Java语言通过JNI可以调用C/C++代码,C/C++代码也可以通过JNI调动Java代码 NDK:Native Development Kit是一系列工具的
转载 2023-12-01 14:30:48
185阅读
# Android JNI传递接口回调对象详解 ## 1. 流程概述 为了实现在Android JNI中传递接口回调对象,我们需要通过以下几个步骤完成: | 步骤 | 描述 | | ---- | ---- | | 步骤1 | 定义接口 | | 步骤2 | 创建JNI类 | | 步骤3 | 实现JNI类的回调方法 | | 步骤4 | 在Java端注册回调方法 | | 步骤5 | 在JNI层调用
原创 2023-12-19 04:51:28
360阅读
  JNI 全称为Java Native Interface 即Java本地接口,JNI是Java调用Native 语言的一种特性。通过JNI可以让Java与C/C++相互调用。一、如何使用JNI(注:本文中均只介绍CMakeList方式编译):首先我们要在java中声明一个本地方法如:(此为kotlin 写法 java 写法为 public native void
转载 2023-10-25 21:59:53
65阅读
闲来无事,在研究腾讯GT源码的时候看到一段内存占用的代码,感觉平时测试的时候可能会用到,所以想移植到测试app进行使用。于是开始了这篇jni之旅一. 环境配置主要需要配置的就是NDK(Native Development Kit),现在Android Studio很便利,可以一键下载:Android Studio -> Preferences -> Android SDK ->
转载 2023-10-25 22:00:23
144阅读
 环境需求要进行jni开发,AndroidStudio需要以下环境: 方式一、在工程创建的时候添加在创建工程的过程中就有是否支持jni调用的选项 如图所示的Native C++或者选中 Include C++ support完成后你会发现项目的App模块下自动就把cmake相关的内容配置好了,我们来看看与无jni调用的工程有什么不同。 首先,app目录下多了CMake
转载 2023-11-14 10:37:06
130阅读
一、JNI概述JNI是Java Native Interface的缩写,中文译为“Java 本地调用”。通俗地说,JNI是一种技术,通过这种技术可以做到以下两点:Java程序中的函数可以调用Native语言写的函数,Nativie一般指的是C/C++编写的函数。Native程序中的函数可以调用Java层的函数,也就是说在C/C++程序中可以调用Java函数。在平台无关的Java中,为什么要创建一个
转载 2023-10-25 22:00:12
150阅读
经过几天的努力终于搞定了android JNI部分,下面将我的这个小程序和大家分享一下。android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C/C++库文件以及调用C/C++方法。android Java部分代码:jnitest.java package com.he
转载 2023-08-02 22:07:14
132阅读
一、新建工程: 1、新建一个Project: 打开Android Studio,新建一个Project,界面如下: 上图中,设置好工程名和路径之后,接下来可以一路next: 二、Android Studio使用方法; 1、修改项目结构视图: Project新建完了以后,默认的结构如下: 上图可以看到,AS的目录结构和Eclipse中有很大区别,我们看下面的这张表格就一目了然了: 当
转载 2023-11-18 18:18:04
75阅读
# JNI创建Java对象 ## 简介 在Java Native Interface (JNI) 中,我们可以使用 C 或 C++ 编写代码来与 Java 交互。在这篇文章中,我将教你如何使用 JNI 创建 Java 对象的步骤和代码。 ## JNI 创建 Java 对象的流程 以下是 JNI 创建 Java 对象的一般流程: | 步骤 | 描述 | | ---- | ---- | |
原创 2023-08-07 06:40:00
207阅读
# JNI调用Java对象 ## 整体流程 在JNI中调用Java对象的操作可以分为以下几个步骤: | 步骤 | 描述 | | ---- | ---- | | 1 | 创建JNI方法 | | 2 | 获取Java类及方法ID | | 3 | 调用Java方法 | ## 具体步骤 ### 步骤一:创建JNI方法 首先,我们需要在C/C++代码中声明一个JNI方法,该方法将用于调用Java
原创 2024-03-09 03:56:28
46阅读
## JNI创建Java对象的步骤 在使用JNI(Java Native Interface)创建Java对象时,需要经过以下几个步骤: ### 步骤一:创建Java类 首先,我们需要在Java中创建一个类,该类将在JNI中被实例化。假设我们创建了一个名为`Person`的类,它具有以下属性和方法: ```java public class Person { private Str
原创 2024-01-06 07:18:32
111阅读
JNI 的基本问题就是解决 Java 和 C++ 代码互相调用的通信问题,在 C++ 代码编写过程中最大的问题莫过于适应其中的代码编写规则,C++调用或是返回的内容必须遵守 JVM 和 C++ 代码的通信规则。C++ 调用 Java 的一般步骤如下: 获得类: jclass cls          = env->FindClass("com/ldq/Student");cls 可认为是类
转载 2016-01-30 22:54:00
85阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5