frameworks中的JNI文件路径

Android NDK和JNI简略总结、使用示例 一、JNI (Java Native Interface) JNI是Java提供的与系统Native库交互的一种机制。 Java代码运行在JVM中,JVM可以跟操作系统来调用系统的Native动态链接库。 这些动态链接库由C/C++源代码来编译生成,在不同操作系统中格式不同,例如在linux平台下会编译为.so或.a文件,在window平台下会编译为dll文件,在mac os下会编译为jnilib。 Android是基于Linux的,所以在Android平台上JNI调... 阅读详情

1、frameworks/base/services/jni

    com_android_server_AlarmManagerService.cpp \
    com_android_server_BatteryService.cpp \
    com_android_server_InputApplicationHandle.cpp \
    com_android_server_InputManager.cpp \
    com_android_server_InputWindowHandle.cpp \
    com_android_server_LightsService.cpp \
    com_android_server_PowerManagerService.cpp \
    com_android_server_SystemServer.cpp \
    com_android_server_UsbDeviceManager.cpp \
    com_android_server_UsbHostManager.cpp \
    com_android_server_VibratorService.cpp \
    com_android_server_location_GpsLocationProvider.cpp \
    com_android_server_connectivity_Vpn.cpp \
    onload.cpp

2、frameworks/base/core/jni

frameworks/base/media/jni


用命令查找jni目录

$ find  frameworks/base  type d  -name  jni

./voip/jni

./rfid/jni

./freestylus/jni

./native/graphics/jni

./drm/jni

./tests/BrowserTestPlugin/jni

./services/jni

./packages/TtsService/jni

./media/jni

./media/libdrm/mobile1/include/jni

./media/libdrm/mobile1/src/jni

./graphics/jni

./core/jni

./opengl/tests/gl_jni/jni

./opengl/tests/gl2_jni/jni

./opengl/tests/gldual/jni

这么多jni目录都可以参考,其中主要是core/jni目录了。

JNI目录

frameworks/base/voip/jni
frameworks/base/media/libdrm/mobile1/src/jni
frameworks/base/media/libdrm/mobile1/include/jni
frameworks/base/media/jni
frameworks/base/tests/BrowserTestPlugin/jni
frameworks/base/native/graphics/jni
frameworks/base/packages/DefaultContainerService/jni
frameworks/base/services/jni
frameworks/base/graphics/jni
frameworks/base/core/jni
frameworks/base/drm/jni


参考网址:

http://blog.csdn.net/xyz_lmn/article/details/6959545

 Android JNI入门第三篇——jni头文件分析 

http://blog.csdn.net/xyz_lmn/article/details/6966259

 Android JNI入门第四篇——Android.mk文件分析

http://blog.csdn.net/xyz_lmn/article/details/7017420

 Android JNI开发提高篇 

http://blog.csdn.net/xyz_lmn/article/details/6956003

 Android JNI入门第二篇——Java参数类型与本地参数类型对照

 

http://wenku.baidu.com/view/e9e28ca1b0717fd5360cdc18.html

JNI入门

http://www.ibm.com/developerworks/cn/java/j-jni/

使用 Java Native Interface 的最佳实践

http://helloxuweifu.iteye.com/blog/1168647

http://blog.csdn.net/kangyaping/article/details/6584027

JNI函数调用大全

 

http://newfaction.net/2010/11/30/java-jni-getfieldid-and-getmethodid-and-parameter-description.html

java jni GetFieldID 和 GetMethodID 以及参数的说明

http://hi.baidu.com/spmno/blog/item/7d4d764ea78a6809b3de0588.html

jni中使用数组的几个方法

http://xxw8393.blog.163.com/blog/static/3725683420107109411366/

JNI 返回结构体参数 

http://www.cnblogs.com/nicholas_f/archive/2010/11/30/1892124.html

JNI中java类型与C/C++类型对应关系

http://blog.csdn.net/sunny09290/article/details/6884994

JNI数据类型

http://www.cnblogs.com/liangwind/archive/2009/08/18/1925515.html

jni --c/c++ 数据类型、数组、对象

http://www.cnblogs.com/diyunpeng/archive/2009/09/24/1573296.html

Java有符号数与无符号数

http://www.stuhack.com/biancheng/java/35169.html

Java的基本数据类型是无符号的



Android使用android studio配置并运行Jni详细流程 以手动不使用cmake方式,配置并运行jni项目的详细流程。结构清晰,按照步骤做,一定能够成功运行,一起来试试吧 阅读详情

相关推荐

Android11.0Frameworks中添加jni并调用自己的动态库

Android11.0Frameworks中添加jni并调用自己的动态库

yjz_0314的博客 830

【Framework】Android跨进程通信IPC之3——关于“JNI“的那些事

在分析IPC基于Android 6.0)的过程中,里面的核心部分是Native的,并且还包含一些linux kernel,而作为Android开发者看到的代码大部分都是Java层,所以这就一定会存在Java与C/C++代码的来回跳转,那么久很有必要来先说一下JNI,本文主要内容如下:1、相关代码2、JNI简介3、Android中应用程序框架4、JNI查找方式5、loadLibrary源码分析6、JNI资源7、总结一、相关代码(一)、代码位置(二)、代码链接。

Gaga246的博客 1083

llama.cpp用Android NDK编译成so动态库,Kotlin通过JNI调用

本文详细介绍了在Android应用中通过Kotlin调用llama.cpp模型的完整方案。主要内容包括: 两种实现方案对比:推荐使用Android Studio+CMake+NDK的集成方案,优于单独编译.so的方式。 技术架构:Kotlin负责UI层,通过JNI调用C++封装的llama.cpp接口,模型文件存储在本地。 关键实现步骤: NDK和CMake环境配置 llama.cpp作为子模块集成 CMakeLists.txt配置优化 JNI接口设计(初始化、推理、释放等) Kotlin与C++的数据交互

Zhang Phil 458

android jnilib放在哪个目录下,Android中的JNI使用指南一

一、简介JNI全称是Java Native Interface(Java本地接口)单词首字母的缩写,本地接口就是指用C和C++开发的接口。由于JNI是JVM规范中的一部份,因此可以将我们写的JNI程序在任何实现了JNI规范的Java虚拟机中运行。同时,这个特性使我们可以复用以前用C/C++写的大量代码。开发JNI程序会受到系统环境的限制,因为用C/C++语言写出来的代码或模块,编译过程当中要依赖当...

weixin_28312391的博客 2480

android studio 生成 jniLibs 目录

如下图所示,在选择android 的选项下面显示的jniLibs 目录和选择 project 选项下面的libs 其实是一个,可很多人却不知道如何生成。     解决方法就是在 build.gradle中 的android  括号里面加入   下面代码   ,添加完之后sync 下会自动生成 图一中的jniLibs 目录 sourceSets { ma

Wilshion的博客 3万+

java jni 键盘_好记性不如烂笔头------按键灯jni使用(上层)

上层使用jni(从java层到framework到JNI的用法过程)MTK平台如果在硬件上增加了按键灯,framework层想要调用的话,这里简单介绍一下我的使用过程。首先,需要增加KeyLed.c和头文件KeyLed.h两个接口函数:(\hardware\libhardware_legacy\key_leds\key_leds.c)(\hardware\libhardware_legacy\i...

weixin_39613540的博客 162

Android电源管理分析

Android的电源管理部分,在纵向上分为四层 1.Application层 2.Frameworks层 3

ycj911的专栏 420

MTK手机芯片如何添加以太网卡支持(上层部分)

接:http://blog.csdn.net/zangcf/article/details/40870369,这边文章只描述如何移植底层部分 1, 由于android本身没有Ethernet的架构,我们必须从Android-x86上面移植,Android-x86是一个开源项目,大家可以翻墙从谷歌网站下载,或者是从这里 http://download.csdn.net/detail/zangcf

zangcf的专栏 4174

Android 12 模块编译的常用命令小结(更新中)

Android 12 模块编译的常用命令小结,更新中

小羊子的技术专栏 451

Android 7系统日志(四)日志写入接口—Java层与Native层

本文分析了Android日志系统的接口实现,主要涵盖Java层和Native层的日志写入机制。文章通过架构图展示了从Java层的Log.d()、Slog.d()、EventLog到Native层的ALOGD()等接口,最终都通过__android_log_buf_write()统一处理的核心流程。重点解析了android.util.Log类的源码实现,包括日志级别常量、println_native()的JNI桥接层,以及不同缓冲区(MAIN/SYSTEM)的选择机制。特别指出Slog与Log的唯一区别在于缓

AfinalStone的专栏 257

RK3568_Android15实现安卓全栈开发----操作GPIO控制LED

本文介绍了在RK3568(Android 15)平台上实现App控制GPIO的全流程方案。通过硬件服务架构,从设备树配置、内核驱动开发到HAL层实现,详细说明了GPIO控制LED的完整调用链。关键步骤包括:1)在设备树中定义GPIO节点;2)编写字符设备驱动实现GPIO操作;3)通过ioctl接口提供控制命令;4)创建用户空间设备节点。该方案采用标准Android硬件抽象架构,适用于需要从应用层直接操作底层硬件的开发场景,为Android驱动开发者提供了完整的参考实现。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 349

Android11、12 修改系统获取root权限(su权限)

在系统开发中,有时需要用到cmd的方式,即getRuntime().exec();大多数情况下,没有root权限都能实现大部分功能。但是有些是需要root权限的,系统源码中对某些命令做了权限判断,需要root权限才能使用。提示权限缺失。下面针对如何在系统中配置root权限(su权限),做一个记录分享。

随风而动 5267

Android 7系统输入(一)从硬件到应用的事件旅程

本文是Android输入系统系列文章的第一篇,从宏观架构角度解析事件从硬件到应用的分发全链路。文章首先提出研究输入系统的必要性,指出应用层事件分发机制无法解决深层问题(如ANR机制、外设接入等)。随后通过分层架构图展示事件流水线:硬件驱动→内核层(/dev/input/eventX)→Native层(EventHub采集、InputReader加工、InputDispatcher分发)→Java层(InputManagerService)→应用层(ViewRootImpl)。重点剖析了Linux内核的inp

AfinalStone的专栏 411

Android7 U盘插拔链路源码全解析(一)全景图与调用链路概览

本文摘要: Android U盘/OTG调用链分析系列文章,基于Android 7.1.2源码,从内核层到应用层系统解析U盘插入到可用的完整流程。通过四层架构(Kernel→Native→Framework→Application)详解各组件协作机制,包括USB驱动、vold守护进程、StorageManagerService等核心模块。重点解决开发中常见的U盘识别、挂载及文件访问问题,并附调用时序图说明物理插入至应用响应的全链路过程。适合系统开发人员深入理解Android存储子系统工作原理。

AfinalStone的专栏 231

深入Android MediaRecorder框架:从OMX编码到MP4封装全链路解析

在Android多媒体开发中,音视频录制是核心功能之一,其背后涉及复杂的框架设计与数据流处理。理解MediaRecorder的工作原理,需要从客户端-服务端架构切入,掌握其跨应用层、JNI层、原生框架层及硬件抽象层的协同机制。关键点在于OpenMAX IL(OMX)编解码组件,它作为标准化接口,协调硬件与软件编码器,实现高效的H.264/AAC压缩。数据流经AudioSource/CameraSource采集后,通过OMX编码,最终由MPEG4Writer封装为MP4文件。这一流程对性能优化、兼容性处理及错

weixin_34245749的博客 314

Android 音乐播放简介

Android 音乐播放简介

kv110的专栏 1678

Android 7系统国际化(一)全景图与调用链路概览

本文是Android国际化机制系列文章的第一篇,通过全景图展示了从用户界面到系统底层的完整架构。文章首先抛出三个典型问题:语言切换流程、Activity重建机制和资源匹配规则,引出国际化机制的复杂性。随后用分层架构图清晰呈现了7个关键层级:应用层(Settings)、框架层(配置模型与系统服务)、应用进程响应层、资源管理层、Native层和APK资源文件。最后重点分析了两条核心调用链:用户切换语言后的系统全局分发流程,以及应用进程接收配置变更后的响应机制。文章基于AOSP 7.x源码,为后续深入分析各模块实

AfinalStone的专栏 239

Android7 U盘插拔链路源码全解析(七)应用层MediaScanner与SAF

本文分析了Android系统中应用层如何访问U盘文件的关键机制。主要内容包括: 权限模型:通过FUSE实现权限控制,将原始挂载点/mnt/media_rw/Udisk重新映射为不同权限级别的访问路径。 MediaScanner流程: 接收ACTION_MEDIA_MOUNTED广播触发扫描 递归扫描目录,跳过含.nomedia文件的目录 根据文件扩展名识别媒体类型 提取音频等文件的元数据(如ID3标签) 将结果写入MediaStore数据库 版本差异:Android 7及之前版本应用可直接通过路径访问U盘文

AfinalStone的专栏 270
上一篇: android 屏幕旋转
下一篇: android源码编译生成ramdisk.img和system.img解压和使用
pkigavin
博客等级 码龄15年 54粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值