Android
ironmanpeng
这个作者很懒,什么都没留下…
展开
-
Linux桌面上运行Android应用解决方案简要汇总
4、Shashlik:Shashlik是一款基于QEMU(Quick Emulator)的开源Android应用运行器,可以在Linux桌面上运行Android应用。3、Android Studio Emulator:Android Studio是Google官方的开发工具,它包含一个Android模拟器,可以在Linux桌面上运行Android应用。6、Scrcpy:Scrcpy是一个开源工具,可以将Android设备的屏幕镜像到Linux桌面上,并且可以在Linux桌面上控制Android设备。原创 2023-04-21 15:47:30 · 2340 阅读 · 1 评论 -
gdb调试技巧
除了常规的调试技巧,GDB还提供了一些高阶技巧,可以帮助开发人员更快速、更准确地找到问题。GDB是GNU Debugger的缩写,是一款常用的命令行调试器,可用于调试C、C++、汇编等程序。以上是一些GDB调试高阶技巧,能够帮助开发人员更快速、更准确地找到问题,但需要根据实际情况进行选择。以上是一些常用的GDB调试技巧,当然GDB还有其他的命令和选项可供使用,需要根据实际情况进行选择。是一个表达式,只有当表达式为真时才会触发断点。,并在它的值发生变化时触发断点。是远程机器的主机名或IP地址,原创 2023-04-16 11:05:25 · 933 阅读 · 0 评论 -
Android的HIDL理解
HIDL是HAL的升级版,其主要区别在于使用了IDL(Interface Definition Language)来定义接口,这使得HIDL接口更具可读性和可维护性。此外,HIDL支持将接口分成多个部分,以便只加载必要的部分,从而减少了启动时间和内存占用。HAL是Android系统中实现硬件抽象层的传统方法。此命令将生成IMyHidlInterface.h和IMyHidlInterface.cpp文件,其中IMyHidlInterface.h文件包含了C++代码,以便将HIDL接口绑定到C++实现。原创 2023-04-16 10:18:41 · 715 阅读 · 0 评论 -
最简单的Surface测试程序
SurfaceTest.cpp#include <cutils/memory.h>#include <utils/Log.h>#include <binder/IPCThreadState.h>#include <binder/ProcessState.h>#include <binder/IServiceManager.h>#include <gui/Surface.h>#include <gui/SurfaceC原创 2020-06-26 17:28:24 · 985 阅读 · 0 评论 -
Android系统_输入系统_Linux编程知识inotify和epoll
Android系统是基于Linux内核的,所以Android的系统输入就离不开Linux的系统设备输入。而输入设备的连接断开以及输入设备所传递的输入事件是如何被Android系统所感知的呢?下面我们就来了解一下Linux关于输入系统的两个重要机制notify和epoll。问题1、键盘即插即用,即我们是怎么监测键盘接入与拔出的呢?答:① hotplug:内核发现键盘接入/拔出,会启动hotplug进程,再发消息告诉输入系统② inotify:输入系统使用inotify监测目录 /dev/input问原创 2020-06-10 22:41:54 · 362 阅读 · 1 评论 -
FFMpeg编译打包libffmeg.so总结
目录一、基于FFMpeg应用开发流程二、编译打包libffmpeg so库1、下载安装NDK2、下载FFmpeg源码,修改FFmpeg的configure3、生成类库一、基于FFMpeg应用开发流程首先我们根据自己项目需要,来对FFmpeg源码进行功能裁剪以减小最后APK的大小。编译好FFmpeg库后再添加自己的C、C++代码来使用FFmpeg库来实现相应的音视频编解码功能。再编写make文件...原创 2018-09-26 18:15:09 · 5656 阅读 · 1 评论 -
Android FFmpegHellWorld(最简单的使用FFMpeg库的工程实例)
目录一、创建AndroiStudio工程FFmpegHellWorld二、添加libffmpeg.so库及头文件,修改CMakeLists三、编写JNI方法调用FFmpeg库一、创建AndroiStudio工程FFmpegHellWorld在创建工程的时,将Include C++ Support勾上。创建好的工程目录如下:二、添加libffmpeg.so库及头文件,修改CMakeLis...原创 2018-09-27 17:13:28 · 896 阅读 · 0 评论 -
Android系统编译:添加OpenCV库和模型配置文件
目录一、添加 libopencv_java3.so库至/system/lib64/二、添加使用OpenCV库时用到的模型文件和配置文件至/data/system/一、添加 libopencv_java3.so库至/system/lib64/在Android源码目录的hardware/libgesture/目录下创建libopencvhw文件夹,并将libopencv_java3.so文件放置于...原创 2018-09-27 18:10:14 · 987 阅读 · 0 评论 -
Ubuntu16.04编译Android 6.0系统源码过程简要记录总结
一,安装VMware Workstation,百度网盘下载(内含注册机)链接: https://pan.baidu.com/s/1wz4hdNQBikTvyUMNokSVYg 提取码: yed7VMware Workstation 15 Pro 永久激活密钥 下载https://blog.csdn.net/felix__h/article/details/82853501二,创建新的虚拟机...原创 2019-06-03 20:43:33 · 2329 阅读 · 0 评论 -
Android6.0 在SElinux下如何获得对一个内核节点的访问权限
Android 6.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。本文涉及到的用户自定义的内核节点为/dev/freg_device问题Log如下:06-16 00:27:09.313 224 224 I SystemServer: Freg Service06-16 00:27:09....原创 2019-06-22 22:04:33 · 513 阅读 · 0 评论 -
Android JNI Java调用C++以及C++调用Java
目录一、JNI简介二、JNI资源数据类型基本数据类型数组数据类型复杂数据类型Signature三、Java调用C++四、C++调用Java一、JNI简介JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&amp;amp;amp;amp;C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。J...原创 2018-09-26 15:40:21 · 3308 阅读 · 0 评论 -
bin/bash^M: bad interpreter: No such file or directory解决
问题:bin/bash^M: bad interpreter: No such file or directory原因:.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。解决方法:修改.sh文件格式(1)使用vi工具 vi build_android.sh(2)利用如下命令查看文件格式 :set ff 或 :set filef...原创 2018-08-22 18:02:04 · 4856 阅读 · 0 评论 -
Android 系统使用uinput模拟鼠标输入设备的方法
接到组长给的新任务,项目需要实现一个通过摄像头获取图像数据,然后通过OpenCV进行手势识别,再将识别到的手势信息转换成鼠标事件信息回传给input子系统,进而实现通过手势模拟鼠标操作来对Android系统进行操作的功能。 这里先对事件注入部分做简要分析介绍。 系统端怎样模拟input event呢,此处我们通过uinput桥接;原理是利用内核现有的uinput驱动,通过内核驱动uinput来...原创 2018-08-16 19:49:16 · 3977 阅读 · 1 评论 -
Android 系统时间更新机制研究
最近因工作的需要,开始接触到Android系统时间网络同步更新的问题。遇到的实际问题如下:1、手机恢复出厂设置后,系统时间没有及时更新。2、手机使用当中时间同步更新后,时间快了几分钟。3、手机状态栏的时间的分钟显示没有及时更新。 鉴于各个项目问题的重复出现,有很多地方不是太明白,导致解决问题的效率比较低,正想研究一下,所以根据网上相原创 2016-09-10 10:30:45 · 4842 阅读 · 1 评论 -
Android Binder机制理解
Android Binder机制理解一、说明 Android系统中应用很广泛的但也是最难理解的就是Binder机制了,从APP组被调到系统平台组后感觉需要学的东西更多了,思考的方式也有所改变,从是什么转变到为什么(背后的设计思想和实现细节),初次接触Framework感觉就是在于各种服务打交道,例如ActivityManagerService、WindowManagerService、Pow原创 2016-08-24 17:55:06 · 2996 阅读 · 1 评论 -
Android 系统横屏时按键导航栏遮挡输入法窗口问题解决方案
最近遇到Android 6.0系统横屏时出现按键导航栏遮挡输入法面板的问题,对比查看华为荣耀V9(Android 8.0)上也有同样的问题,如下图: 可见此问题是Android原生的Bug。其原因是由于导航栏在显示和隐藏的时候没有及时更新layout。 打印其堆栈信息如下: 修改PhoneWindow类的updateNavigationGuard方法,在updateNavigatio...原创 2018-08-16 11:06:16 · 3054 阅读 · 1 评论 -
简单总结Android系统开发中LOG的使用
在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。下面简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。一、内核开发时LOG的使用 printk提供了8种日志级别原创 2017-06-26 18:26:46 · 863 阅读 · 0 评论 -
创建Android模拟器
安装Eclipse和ADT,这里我使用的是Google官网提供的一整套开发工具,adt-bundle-windows-x86_64-20140702.zip。官网网址:www.developer.android.com 奇葩的是很多网友说被和谐了,当时我却可以访问并成功下载。在创建Android模拟器之前,我们需要先启动Android SDK Manager,将我们所需的Android版本下载...原创 2015-04-01 20:40:54 · 672 阅读 · 0 评论 -
JDK安装与环境变量配置
一、认识JDK及环境变量1、什么是环境变量Path环境变量的作用:path环境变量是操作系统外部命令搜索路径2、JDK里面有些什么bin:使用java所用的所有的命令都在这个目录里demo、sample:include:里面的是一些C语言程序jre:Java运行时环境lib:Java所使用的各类包文件各类帮助文档src.zip:放的是JavaJDK的部分源文件3、什么是J...原创 2015-04-01 18:04:05 · 437 阅读 · 0 评论 -
Android开发环境搭建
Android开发环境搭建 获取SDK工具包(Standard Develop Kits) 下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x64.zip工具包,包含以下内容: Eclipse + ADT插件(android develop kit:eclipse的插件) Android SDK原创 2015-04-02 10:33:12 · 648 阅读 · 0 评论 -
Android 系统使用蓝牙遥控器的确定键无法调起输入法问题解决方案
测试反馈Android蓝牙遥控器适配问题:瞩目应用中,点击加入会议,使用遥控器点击返回键收起输入法键盘,再点击会议名称栏无法调出输入法键盘。此问题在Android 6.0必现。经查看分析,应用使用了AutoCompleteTextView控件,此控件自动添加了onclicklistener监听事件。 AutoCompleteTextView继承了EditText,EditText的父类是Te...原创 2018-08-16 14:47:18 · 1940 阅读 · 1 评论 -
Android 系统内置存储空间满导致系统崩溃的问题解决
测试反馈:设备内存满时,进入设置,点击连接管理,出现死机重启 打印log如下图: 本地验证时发现虽然把/data或/cache填满了,无法再写入数据,但是透过stat查看分区文件系统状态, free blocks并不等于0. 关于文件系统空间预留的说明 ext4模块本身会预留2%左右的分区存储空间做reserved空间,专门为ext4自己保留。 在super.c (/vendor...原创 2018-08-16 18:01:05 · 10412 阅读 · 12 评论 -
Android SensorManager分析
SensorManager 基于Android 5.1源码分析:2016-04-231、Java层启动轮询线程的流程 SensorManager.java这里有4个供上层APP使用的注册接口。public boolean registerListener(SensorListener listener, int sensors)public boolean regist原创 2016-04-23 17:35:38 · 10730 阅读 · 1 评论