自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wenzhi的博客

人永远是要学习的;死的时候,才是毕业的时候。

  • 博客(486)
  • 资源 (103)
  • 收藏
  • 关注

原创 Android JNI常用API函数介绍

(1)JNIEnv 结构体相关函数(2)JavaVM 结构体相关函数(3)jclass 相关函数(4)jobject 相关函数(5)字段相关函数(6)数组相关函数(7)字符串函数其实主要的JNI API 函数就上面这些相关的内容;大部分会用,那么JNI 的API 就没啥难度了。其他的API函数可以看jni.h文件,但是这个文件是没有注释的,根据字面意义理解就差不多了。除了JNIEnv和JavaVM使用的获取使用比较少,其他API使用的还是比较多的;

2024-03-14 17:01:51 1063 1

原创 Android JNI静态注册和动态注册方法详解

这里的JNI静态方式注册方法和JNI的static方法是没有关系的。本文主要介绍jni.cpp代码中动态注册方法的讲解。很多人对这块知识还是比较陌生的,什么是静态注册?什么是动态注册?有些人可能都不清楚。JNI静态注册和动态注册是哪里的代码?什么时候使用静态注册?什么时候使用动态注册?为什么呢?其实一般情况用不到动态注册,但是复杂JNI项目或者系统源码中可能会用到动态注册。特别是系统源码中基本都是用的动态注册的形式,注册JNI方法,所以是有必要进行学习的。

2024-03-14 10:13:20 740

原创 Android 几个简单的自定义对话框介绍

Android 对话框直接使用肯定是不好看的,如果需要添加取消和确定按钮,肯定是需要进行自定义修改的。本文简单介绍一个简单的可扩展的对话框,并且支持不同类型样式,加了点小动画。有需要的可以看看。//(1)默认字符串显示,显示一个确认按钮,只是用来测试//(2)修改标题和文本内容,显示一个确认按钮")").show();//(3)修改标题和文本内容和类型图标,显示一个确认按钮").show();大部分场景上面三个代码比较常用。

2024-05-19 12:29:06 777

原创 Android 系统设置拉起后台非全屏应用不隐藏前台应用

Android 原生流程中,如果切换后台应用界面,会先执行返回Home界面,再切换到新的应用界面;验证方法:手机打开一个应用1界面,底部往上滑,切换一个之前的后台应用2到前台,左右滑动退出应用2,发现回到的是Home界面而不是应用1界面。原生在startActivityFromRecent时,先回到Home了。但是Android 大屏设备,一般是需要显示多个应用,界面部分应用都是悬浮Activity,理想效果是:不返回Home界面,直接拉起后台应用。下面是实现的代码,其实就是在关键方法返回就行。

2024-05-19 12:25:30 203

原创 Android14 普通应用registerReceiver注册广播报错One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be

Android14 普通应用注册广播registerReceiver会报错,提示需要添加一个参数RECEIVER_EXPORTED 或者 RECEIVER_NOT_EXPORTED;系统framework或者系统应用是不会报这个错误的!这个问题比较好解决,加一个参数就行,但是网上目前没有人对这个问题今天深入分析。本文对registerReceiver报错进行分析,具体到哪个类哪行代码报错,分析了解后对于系统其他相关报错能有个认识,或者有分析思路。

2024-04-30 14:54:19 905 3

原创 Android13 源码环境编译app源码报错AndroidManifest.xml.fixed分析解决总结

Android13 从Studio正常编译运行的app代码在源码中编译 有可能报错:AndroidManifest.xml.fixed …网上说法很多,有的说是添加android:appComponentFactory=“XXX” 和 tools:replace="XXX"就可以。Android·13 之前的方案使用上面的属性添加可能有效,这个修改主要针对包冲突问题(support和androidx ),

2024-04-30 09:21:33 1294 2

原创 Android13 Studio新建的代码编译报错INSTALL_PARSE_FAILED_MANIFEST_MALFORMED解决

这个错误信息表明安装失败,原因是Android应用的Manifest文件存在格式错误。Manifest文件是每个Android应用必不可少的一部分,它包含了应用的名称、版本、权限等重要信息。如果Manifest文件中的某些信息不符合规定或者有语法错误,系统将无法解析这个文件,导致应用无法安装。新建的项目为啥会报错呢?其实是Android13开始,四大组件都是要设置 exported 属性,否则会报错。其实就是缺少了必要的信息。给组件添加 android:exported 属性即可。

2024-04-20 20:26:36 545

原创 Android Studio 新建Android13 代码提示Build Tools revision XX is corrupted无法编译解决

Android Studio 新建Android13或者app下的build.gradle文件配置 compileSdkVersion 33上面提示看似简单,提示重新卸载 再下载Build Tools33.0.0就行了,但实际上重新下载也不行!其实就是SDK新版本编译环境问题,不用重新下代码,从低版本复制两个文件过去或者修改两个文件的命名就行。具体原因是SDK对应版本build-tools里面缺少了dx.bat和dx.jar,解决方法从低版本复制一个过来,

2024-04-20 20:20:37 373 1

原创 Android Studio项目加载预编好的so库

Android 项目中需要调用别人的so的实现,那么我们的应用需要如何操作呢?本文主要介绍Android Studio中如何调用现有的so库代码。Android JNI生成的so库有很多不同架构类型,比如:armeabi、armeabi-v7a、arm64-v8a、x86;

2024-03-27 16:00:00 1263

原创 Android JNI SO库和对应的CPU架构详解

Android JNI生成的so库有很多不同架构类型,比如:armeabi、armeabi-v7a、arm64-v8a、x86;Android 系统不同的cpu架构就要使用不同类型的so库,如果不考虑内存大小,放全套也是没有问题的;但是实际使用中,很多时候只会放一套或者两套就可以了。本文介绍Android cpu不同架构的so库区别,以及如何查看当前系统是什么cpu架构,以便在实际场景中做出最优选择。

2024-03-27 08:42:59 1103

原创 Android Preference简单介绍

想刀一个人的心是藏不住的,我要吐槽一下Google工程师;写代码就写代码,Settings代码非要写Preference那套布局.没怎么学过Preference相关知识,之前很多次想修改获取一直Settings里面的某个功能或者布局就看得蛋疼。PreferenceScreen、PreferenceCategory、SwitchPreference这个东西,看Settings里面的代码是一脸懵逼。如果你把Preference相关的类和布局当成普通类,想要修改一两个文件的布局界面和具体事件,

2024-03-21 11:06:16 1124 1

原创 Android adb命令发送广播介绍

Android 广播除了代码中发送,还可以使用命令模拟发送,只要应用代码中进行了监听,都可以正常接收到的。掌握手动发送广播命令,可以方便某些代码的调试。所以学习一下Android adb方式 发送广播命令是有用的。其中, `` 是广播的动作,可以是Android系统定义的动作,也可以是自定义的动作;-d是数据的URI;-t是数据的MIME类型;-c是广播的类别;-n是广播的组件;-f是标志位;–es|ei|ef` 是额外的键值对参数。

2024-03-21 08:49:50 2644 1

原创 Android JNI 普通方法和静态方法详解

Android Jni中Java的静态方法和普通方法有什么区别?很多人可能都不清楚,如果想知道的可以了解一下。这个问题很少人会关注,一个是因为很少会静态方法调用JNI或者回调静态的Java方法;另外一个是因为知道了或者调试过就不难了,所以很多人觉得没必要讲解和记录。但是对于JNI 的初学者来说静态方法还是比较陌生的,很容易会懵逼的,不知道有啥区别。本文主要讲解一下上面两种静态方法在JNI中的区别,有兴趣的可以看看。

2024-03-06 16:59:22 1301

原创 Android JNI 复杂数据demo ,字符串、数组对象等数据操作讲解

Android JNI复杂数据的传输,比如数组,字符串等数据传给底层处理,对于JNI使用不多的开发者,可能开发会比较吃力。本文主要介绍JNI复制数据的传递和打印,不是很复杂的JNI Demo代码,但是对于复杂数据的处理的使用是很有帮助的。

2024-03-06 16:53:36 1181

原创 Android JNI复杂用法,回调,C++中调用Java方法

/创建对象的本地变量//获取类对象I)V");上面(1)和(2)是没什么研究价值的,NewGlobalRef和FindClass都是固定的写法。(3)和(4)的不用方法的调用区别就比较大了,使用不同的api函数还可以修改Java的变量属性。静态方法和动态方法调用的api函数也不一样,有返回值的方法和没有返回值的方法调用的api函数也是不一样的。并且Java方法或者变量即使是private修饰的也不影响cpp调用过去,因为反射是不受修饰符影响的。

2024-03-02 17:39:58 1492

原创 Android Jni添加打印(C++打印)

Android Jni中添加日志打印其实就是C/C++日志打印Android环境的C/C++代码打印,可以添加相关头文件后,调用打印方法跟Android打印类似,也是有打印级别,I,D,W,E#include //添加头文件#define LOG_TAG "TstCPlus" //定义TAG其他级别打印也是同理使用。上面的方法把定义都写在打印的定义都写在一个类里面了,如果多个类使用打印就不方便了,

2024-03-02 17:34:07 1414

原创 Android Jni的介绍和简单Demo实现

JNI 全程:JNI(Java Native Interface),通俗翻译:Java本地方法官方说法:提供一种Java字节码调用C/C++的解决方案,JNI描述的是一种技术。所以这里的Nativie的本地的意思就是C/C++,所以JNI通俗理解就是Java调用C/C++的方案技术。//定义变量和方法private:int number;public://定义方法。

2024-02-26 09:19:47 1623

原创 Android13 设置固定热点ip地址192.168.43.1

Android 热点ip一般的系统都是随机生成的,地址一般是:192.168.XX.XX如果要设置成一个固定的ip地址,就需要适配系统代码。相关的适配代码主要都在 IpServer.java 里面。为啥要设置固定热点ip?一般是投屏软件需求,或者其他一些开机或者打开热点后被自动连接场景的需求。

2024-02-26 09:05:46 3180

原创 成为CSDN博客优质创作者或者博客专家吧

最近申请成为了CSDN博客专家,有想法的可以加入。写了CSDN技术博客也有七八年了,刚开始只是想记录一下学习的内容,防止以后忘记这些学习到的知识,毕竟人的大脑是功能有限,学习后不一定能记忆很久,所以写下来二次回忆能快速入手,尽管有时候工作很忙,有时候一两个月都没写博客,但是后续经过一些思想转变,发现创造文章不仅对自己有好处,也能给别人提供一些帮助,所以觉得还是很有必要继续坚持创作下去的。既然写了为何不把它写得更好呢,成为博客专家那不是更好吗,

2024-02-08 12:48:09 991

原创 2023年总结加2024年展望

转眼间到了2024年2月8号,离2024阴历新年只有两天了。不得不说光阴似箭,日月如梭,仿佛2023年一瞬间就过去了,一时间想不起来过去发生了什么事情。所以还是要静下心来想想一年都发生了什么,下一年要如何进步,这个也是写这篇文章的美好初衷。也希望我写的内容对大家会有些点帮助或者感想。2023年对于新冠疫情来说就是一句话:再困难的时光总会过去的。其实这句话对于我们很多都是有相当大的激励作用的,没错,困难的时光总会过去的,这个也是我们时常会在经历磨难后会在心里说的话。

2024-02-08 12:26:16 505

原创 Android 应用添加系统签名权限的几种方式实现介绍

Android 应用添加系统签名就能获取到系统权限调用一些系统接口,添加系统签名的方式主要包括:在Android Studio中配置签名文件生成apk 和 在源码目录编译添加系统签名生成apk。本文介绍的都是一些基础的签名知识,后续延伸介绍相关权限内容。有兴趣的可以进行了解。源码中生成 jks 签名文件:android {。。。//证书信息在这里配置main {storeFile file("./platform.jks") //签名文件路径,根目录release {

2024-02-04 12:51:01 2023

原创 Android13 系统源码适配安装可卸载的三方apk应用

本文主要介绍 手机的三方应用比如游戏,微博等应用,在源码中如何默认配置到手机中的。Android手机中的系统应用是无法手动卸载的,但是这些三方应用安装后是可以手动卸载的。源码编译中配置系统应用是比较简单的,只要在apk文件并且再Android.mk或者Android.bp中进行配置即可。但是如果要默认配置三方应用确实有点麻烦,网上很多文章讲得都比乱,大部分只是贴了相关代码,基本没有介绍完整流程和分享解决配置过程还有一些编译报错。

2024-02-04 12:42:35 1426

原创 Android.mk和Android.bp的区别和转换详解

简单的说:Android.mk和Android.bp都是用来编译出类库.jar,应用文件.apk,动态库.so,静态库.a等等作用。Android.mk就是一个GNU make语法的脚本文件。Android.bp文件是Android 7.0及更高版本中引入的一种构建脚本文件,是使用Starlark语法编写的,它是一种基于Python的轻量级脚本语言。他们的关系如下:ninja是一个编译框架,系统会根据相应的ninja格式的配置文件进行编译。

2024-01-19 18:37:40 1960 5

原创 Android系统目录priv-app 和app 详解

Android4.4增加了/system/priv-app/目录,那么它与/system/app/目录有什么差别?本文主要从定义,作用,具体效果等方面进行分析。有一些是网上没有介绍到的内容。如果只是知道 priv-app 目录比 app目录权限大一点,但是不了解具体区别的可以看看。(1)普通应用。只用到了普通权限,比如上网权限等等。(2)system/app 系统应用,用来可以限制无法手动卸载,对系统权限没有要求的情况,无法调用系统api。

2024-01-19 18:32:06 1926

原创 Android.bp详解+入门必备

Android.bp 就是为了用来替换 Android.mk 一个脚本语言文件。如果学习过Android.mk,在学习一下Android.bp应该是很easy的,如果不是很熟悉可以学习了解一下。Android.bp和Android.mk作用都是一样的,在系统源码中用来编译出类库.jar,应用文件.apk,动态库.so,静态库.a作用。其中关键的就是模块类型定义和不同的属性定义。Android.bp文件用类似json的简洁声明来描述需要构建的模块。

2024-01-16 18:18:21 3501 2

原创 Android.mk详解+入门必备

网上有很多关于Android.mk详解的文章,但是感觉比较散,所以有必要写一篇更加完整一点的,更加容易入门一点的文章。Android.mk 博客介绍 :简单的说:Android.mk就是一个GNU make语法的脚本文件,用来编译出类库.jar,应用文件.apk,动态库.so,静态库.a作用。其中关键的就是include类型和不同的属性定义。本文主要对编译 apk 的 Android.mk 文件进行举例和介绍,包含完整示例的展示以及重要属性的介绍。编码类型和关键字。

2024-01-16 18:07:45 1817

原创 Android 打开热点2.4G系统重启解决

Android 设备开机后第一次打开热点2.4G系统重启?以5G形式打开热点没有问题!这个问题咋回事呢?和底层驱动的人一起分析了一下,本文进行分享一下分析和解决过程。这种问题一般应用开发不会遇到,只有一些系统开发,或者系统新方案调试可能会遇到。查看了AndroidRuntime 和crash 日志,重启前没啥异常日志。这种情况一般是底层/驱动未完全适配导致。

2024-01-06 14:32:12 1356

原创 Android 某个应用缺少特殊权限导致系统一直重启解决

系统一些应用会使用到特殊权限,这时候要在系统配置一下否则系统会一直重启。出现该问题的时候,系统一直显示开机Log界面,无法正常进入Android系统界面。下面一起分析总结一下吧。本文不仅正文有学习价值,后续的延伸介绍内容也是有学习价值的。framework 定义的所有 权限都是有定义包含 protectionLevel 等级的,主要等级有:普通,运行时,权限,特殊。

2024-01-06 14:23:05 1457

原创 Android13 热点默认5G频道配置修改

Android开发中经常要设置默认热点,名称,热点密码,是否是5G频段。之前也有对默认名称和密码进行分析的文章,但是热点频道没怎么看,热点频段对传输性能还是比较重要的,有的平台默认就要5G,查看代码发现默认是2.4G热点。本文对 Android 默认热点5G频段配置 进行分析。wifi信息保存位置:热点信息保存位置:热点的信息文件包含了:热点名称,热点密码,热点频段和信道值等基本信息;wifi 的信息文件包含了:连接过的wifi名称,密码,MAC地址等信息。

2024-01-02 20:55:28 2999 1

原创 Android ZXing二维码包含中文时乱码解决

ZXing就不过多介绍了,就是可以可以扫描二维码获取里面字符串和把字符串生成二维码的小框架。本文记录一下源码编译中,ZXing 在源码编译后,包含中文字符串的二维码出现问号乱码解决。Android Studio中运行该app是没有这个问题的,那么有可能就是编译环境不同导致的。

2024-01-02 20:51:09 913

原创 Android 实现热点开机后自动开启

Android 热点是有api设置永久开启,热点名称,热点密码等接口,但是“永久开启”实际上是不自动关闭,重启设备后热点并不会自动开启。Android Wifi实现开关状态记忆是基于Settings.GLOBAL.WIFI_ON属性,所以热点如果要实现状态记忆那么也是要设置一个Settings属性或者prop属性,系统启动后判断属性决定是否启动热点就可以实现热点状态记忆了。Android Wifi有自己的服务WifiService和服务实现WifiServiceImpl,

2023-12-21 20:33:00 2763

原创 Android13 Wifi启动流程分析

本文对Android13 wifi 开启流程进行梳理,有需要的可以看看。如果遇到wifi 打不开问题,可以依照这个流程进行分析,看看具体是哪个流程出现问题。如果后续需要分析比Android13 更新的代码可以对比参考,毕竟Android11的代码变动比较大。本文最后有流程总结,代码分析过程还有最大一个亮点,每个类的流程分析都标志了数字,避免读着读着就迷路了。最后还有wifi开关相关日志过程分析。

2023-12-21 20:16:09 2111

原创 Android 蓝牙相关广播介绍

本文主要介绍Android 蓝牙相关的广播,并非硬件相关的蓝牙广播信号,而是蓝牙app中的广播接收器onReceive 的蓝牙相关广播。最近刚好开发了一下蓝牙相关的功能,所以进行一些知识总结和介绍,本文应该是全网最面的接收Android广播介绍知识的文章。如果上面日志过程没怎么看的,那么日志总结可以看看。重要过程,日志里面主要包含connection状态,acl_connected,bond等信息。

2023-12-12 18:25:28 1500 1

原创 Android13 不能静态注册的几个广播

本文介绍一些广播相关的知识,主要是静态广播注册无效的介绍。其实从Android 8.0 就开始有这个问题的,只是本文的源码是基于Android13 分析的。

2023-12-12 18:23:53 1514

原创 从Android源码中生成系统签名文件

本文介绍如何从Android源码环境中生成签名文件。注意,需要源码环境哦,window环境是会报错的!

2023-12-09 17:58:20 1250

原创 Android 设置20点触摸

增加Android触摸点,一般是在商显的Android大屏上有一定的需求,在普通的Android设备基本不用。首先,Android系统默认最多支持16点触摸。如果要增加有效触摸点,需要更新对应的触摸框驱动ko文件;还要再framework中进行代码适配。关于触摸框点数增加的文章,网上也有不少,但是CSDN上基本都是要会员才能看,这里给大家介绍一下。

2023-12-06 15:57:47 511

原创 Android 蓝牙弹框接收传输的文件实现

Android 原生系统蓝牙接收是在通知栏显示和操作,但是部分定制设备比如大屏或者盒子设备是没有通知栏的。如果要接收蓝牙文件就要自己接收蓝牙广播进行弹框提示,大概包括:确认接收,显示接收进度,确认取消/完成接收等弹框和实现,具体修改就要适配系统的蓝牙应用。本文基于Android13 系统蓝牙应用Bluetooth文件传输Opp部分代码适配进行介绍。也许你工作中不一定有这个需求,但是安卓屏显开发大概率是有这个需求的,部分有兴趣的并且有系统源码编译运行条件的,可以尝试修改系统源码试试,

2023-12-06 15:16:11 1155

原创 Android 10-13鼠标右键返回功能适配

Android 原生代码代码中接入usb鼠标,点击右键,一般默认是没有反应的。如果要鼠标点击右键设置成返回功能,就要适配系统代码。一般Android板子调试初期没有触摸的情况,适配鼠标右键,是对操作使用是带来较大方便的。本文介绍不同版本的Android 鼠标右键返回功能适配。其实不管什么方案或者版本只需 getButtonState 在点击右键的情况返回的键值是 AMOTION_EVENT_BUTTON_BACK 就会执行返回功能。

2023-11-22 06:00:00 1143

原创 Android13 adb 无法连接?

这段时间经常有同事了,Android13 wifi adb 开启了,但是电脑支持adb connect 为啥连接不上安卓设备?从多个人的adb版本发现,Android13 对 adb版本是有要求的。前两年的adb 版本有可能无法正常连接上Android13 的设备:低版本adb软件,adb connect 执行后,adb devices 发现设备是离线的,adb shell 进入不了输入状态。更新adb 版本有可能可以解决这个问题。

2023-11-17 10:13:26 1370

原创 Android13 wifi adb 串口开启

Android13 wifi adb比之前的版本都麻烦,主要是端口号每次会变化,之前版本端口号是固定的5555Android 12或者更新的系统版本,adb 连接要加端口号,adb connext X.X.X.X:端口号以前的版本是不用加端口号的,因为是默认的5555,系统会自动添加.如果需要手动开启,需要进入开发者选择中,开启wifi adb。并且开启的前提是wifi 开启的情况。如果连接的是有线网络,wifi adb 就无法开启了。

2023-11-16 07:00:00 1334

Android13 蓝牙文件接收过程日志,已经修改视频过对话框接收文件的日志

如果要接收蓝牙文件就要自己接收蓝牙广播进行弹框提示,大概包括:确认接收,显示接收进度,确认取消/完成接收等弹框和实现,具体修改就要适配系统的蓝牙应用。 本文基于Android13 系统蓝牙应用Bluetooth文件传输Opp部分代码适配进行介绍。 也许你工作中不一定有这个需求,但是安卓屏显开发大概率是有这个需求的, 部分有兴趣的并且有系统源码编译运行条件的,可以尝试修改系统源码试试, 有需求的或者有兴趣的可以看看。

2023-12-05

Android13 修改蓝牙文件接收为对话框接收过程

Android 原生系统蓝牙接收是在通知栏显示和操作,但是部分定制设备比如大屏或者盒子设备是没有通知栏的。 如果要接收蓝牙文件就要自己接收蓝牙广播进行弹框提示,大概包括:确认接收,显示接收进度,确认取消/完成接收等弹框和实现,具体修改就要适配系统的蓝牙应用。 本文基于Android13 系统蓝牙应用Bluetooth文件传输Opp部分代码适配进行介绍。 也许你工作中不一定有这个需求,但是安卓屏显开发大概率是有这个需求的, 部分有兴趣的并且有系统源码编译运行条件的,可以尝试修改系统源码试试, 有需求的或者有兴趣的可以看看。

2023-12-05

adb较新版本1.0.41版本

之前经常有人问了,wifi adb 开启了,但是电脑支持adb connect 为啥连接不上安卓设备? 从多个人的adb版本发现,Android13 对 adb版本是有要求的。 前两年的adb 版本有可能无法正常连接上Android13 的设备: 低版本adb软件,adb connect 执行后,adb devices 发现设备是离线的,adb shell 进入不了输入状态。 更新adb 版本有可能可以解决这个问题。 看有问题的adb版本,是1.0.2X,1.0.3X,新版本1.0.41以上的版本没有这个问题。 总结一句话就是:Android13版本需要高一点的adb软件版本才能正常使用。

2023-11-15

选择有线网或者Wifi 进行网络请求

有些场景需要指定特定的网络进行通讯; 比如Wifi 和有线网同开的设备,指定某个网络进行通讯;或者某些指定网络进行通讯的场景。

2023-10-20

Android13 按键介绍和相关源代码

本文专门讲解一下Android 按键接收和处理作用的键值kl文件的选择过程,有需要的可以了解。 本文具体逻辑和调试是使用Android13代码和系统。 本文kl流程分析主要参考:https://blog.csdn.net/kc58236582/article/details/52199274 Android kl(key layout)文件是一个映射文件,是标准linux与anroid的键值映射文件, kl文件可以有很多个,但是它有一个使用优先级: /system/usr/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl /system/usr/keylayout/Vendor_XXXX_Product_XXXX.kl /system/usr/keylayout/DEVICE_NAME.kl /data/system/devices/keylayout/Vendor_XXXX_Product_XXXX_Version_XXXX.kl

2023-09-22

Android13 wifi adb相关介绍和相关源码

通过代码分析发现Android13 上对 网络adb 进行了限制! Android13原生代码要求:必现连接上某个wifi,才能进行adb ,并且切换wifi或者关闭wifi都是会停止adb。 并且Android13 上 wifi adb 端口号每次是变化的,这个也是很不方便的! 如果要做成Android11 或者之前一样,设备连接WiFi/有线网络后电脑可以直接进行adb连接,就要对系统代码进行适配修改。 之前以为设置端口号和persist.adb.tls_server.enable 属性就ok了,但是还是有些小bug,还是要完全研究一遍具体流程。

2023-09-06

Android 网络请求代码和demo.apk

## 一、主要内容 1、开发网络请求前的基本准备 2、普通网络请求代码 3、使用OkHttp网络框架请求网络代码 4、使用Retrofit网络框架请求网络代码 5、使用WebView显示对应网址的网页 6、应用demo的相关代码和apk

2023-08-14

wifi adb demo

添加aml 签名的wifi adb demo代码 包含wifi adb 开关,wifi adb 状态查询,开机自动设置wifi adb功能。 不过添加的是aml 的签名文件,如果是其他平台需要替换对应签名文件。

2023-07-17

Android busybox 简单介绍

busyBox是一个集成了一百多个最常用linux命令和工具的软件。BusyBox包含了一些简单的工具,例如cat和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。简单地说,BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了 Android 系统的自带的shell。 Android busybox 的一个实用功能:进入adb shell 后编辑一些本地的文件,比如系统的一些xml配置文件。

2023-05-27

Android EditText设置密码是否可见

Android EditText设置密码是否可见 从系统层,当个应用app,单个Edittext三个方面实现了EditText 密码字符串显示的修改。 Java文件已经被加密了,需要删除.java文件,把.java.txt 的.txt 去掉即可允许。 默认添加的uid签名,可能要换成自己的系统签名。才能获取系统权限

2022-12-08

Android NTP获取时间demo

Android 获取时间demo 包含apk 和里面的代码 本文 不是系统ntp获取时间代码,不过是有借鉴系统ntp service代码开发的demo

2022-10-23

简单的Jni Demo 计算器的开发

简单的Jni Demo 计算器的开发 实现了加减乘除,以及字符串拼接,日志打印等简单功能 简单的Jni Demo 计算器的开发 实现了加减乘除,以及字符串拼接,日志打印等简单功能 简单的Jni Demo 计算器的开发 实现了加减乘除,以及字符串拼接,日志打印等简单功能 简单的Jni Demo 计算器的开发 实现了加减乘除,以及字符串拼接,日志打印等简单功能

2022-07-18

Android大图加载示例代码和apk

Android大图加载示例代码和apk 代码示例主要包含的内容: 1、大图直接显示 2、手写大图加载 3、Glide加载大图加载 4、手写大图缩放 5、大图加载缩放神器使用

2022-04-05

Android 壁纸设置和确认demo源码和apk文件

android wallpaper包括锁屏壁纸和桌面壁纸,壁纸又区分静态和动态两种。 本文只介绍静态壁纸设置和确认。 确认demo源码和apk文件

2022-02-27

Android11_frameworks有线网络开关添加相关代码.zip

Android8 以后有线网络开关是没有的需要自己添加链路代码 这里在EthernetManager.java里面进行添加了enable(boolean)接口实现了有线网络的开关,实现过程的相关类进行了打包,搜索里面liwenhzhi即可搜索到修改的地方

2021-12-30

ViewPagerAndRecycleView.zip

横向滑动的网格布局 ViewPager嵌套了GridView 代码简单易懂

2021-09-23

CameraDemo.apk

可使用Camera和CameraManger打开相机 三个界面, 1、获取Camera信息 2、Camer.open打开相机 3、CamaerManger.open打开相机

2021-08-05

Android常用脚本的使用adb.zip

非常常用的Adb脚本 比如定向获取日志文件,获取系统日志,抓取当前窗口信息,拍照等等

2021-02-05

Logcat.zip

Android日志获取总结和简单脚本

2020-04-30

RecordMedia.zip

Android录屏的三种方案 1、adb shell命令screenrecord 2、MediaRecorder, MediaProjection 3、MediaCodec和MediaMuxer, MediaProjection , MediaProjection是Android5.0后才开放的屏幕采集接口,通过系统级服务MediaProjectionManager进行管理。

2020-03-22

SwipeBackLayout.rar

Android SwipeBackLayout简单示例 参考的SwipeBackLayout框架: BGASwipeBackLayout-Android:https://github.com/bingoogolapple/BGASwipeBackLayout-Android

2020-02-13

xml2axml.jar

使用java工具反编译AndroidManafest文件 本文介绍通过xml2axml.jar工具反编译AndroidManafest文件

2020-01-23

apk文件进行解析,跟大家分享一下

apk.zip 最近需要,顺便把学到的相关知识跟大家分享一下 主要内容如下: 1、查看apk文件的基本信息,包名,版本号 2、对未签名的apk文件进行签名 3、apk签名文件转换:jks和keystore相互装换 4、查看签名文件的信息 5、adb方式和java代码方式查看apk签名信息:MD5,SHA1,SHA256

2019-08-04

对未签名apk文件进行签名.zip

对未签名apk文件进行签名.zip 这里对未签名的apk文件进行签名,studio可以生成未签名的apk文件 还需要签名文件jks或者keystory。

2019-08-04

查看签名文件的信息.zip

查看签名文件的信息.zip 里面有简单使用命令和示例文件 可以查看到apk的简单信息,比如包名,版本号

2019-08-04

查看apk简单信息.zip

查看apk简单信息.zip 里面包含了查看apk签名信息的命令和简单的使用示例、示例文件

2019-08-04

查看apk的签名信息.zip

查看apk的签名信息.zip 里面包含了查看apk签名信息的命令和简单示例 并且里面有apk的示例文件

2019-08-04

Studio默认签名.zip

Studio默认签名.zip 里面包含了我们Studio默认安装的签名文件 这个文件也是可以給apk进行签名的,没有密码的

2019-08-04

Pass123456789.zip

压缩包里面有Android的签名文件:jks和keystory两种签名文件。密码都是123456789

2019-08-04

Android签名文件jks和keystore相互装换.zip

Android签名文件jks和keystore相互装换的cmd命令 里面包含了文件和简单示例

2019-08-04

Android蓝牙录音

通过打开SCO的方式实现蓝牙录音。 这里附带源码和apk 博客上同步的

2019-04-30

AudioRecordDemo

格式, 而mp3、wav是在纯音频文件上封装了相关的数据。 AudioRecord录音要生成mp3或者wav是要在头部添加一些数据的, 具体的数据格式可以上网找工具类,之前也成功过,但是会有一些坑! AudioRecord录音可以设置的参数比MediaPlayer多, MediaPlayer是经过很多封装的,能直接录制成wav的音频文件。

2019-03-24

CommonAdapterDemo

CommonAdapterDemo 里面是一个简单显示ListView的示例 里面有封装好的BaseAdapter的工具类,非常好用

2018-12-16

Android网格布局选中效果

Android网格布局选中效果 其实就是Adapter 的代码编写 其中项目里有简单的选中和没选中效果的资源图片

2018-12-02

ContentProvider实现数据库操作

本示例结合ContentProvider实现了数据库的增删改查操作 并且扩展性比较好

2018-11-01

boundary数据解析

本文对boundary数据进行解析 并且展示了使用的代码示例

2018-09-19

啊里巴巴FastJson jar包

啊里巴巴FastJson jar包 里面也有相关的使用介绍 代码示例 简单说明等等

2018-08-10

讯飞SDK以及自己开发的示例代码

最新下载的讯飞SDK 还有自己开发的示例代码,主要是语音识别和唤醒 还有相关的介绍

2018-07-30

okHttpDemo

Android okhttp的几个请求示例 有get、post、还有基础请求的代码,还有跳过证书验证的示例代码 里面有三个okhttp相关的jar包都是2018年7月新下的 这个Demo主要是演示日志拦截用的 其他的代码也可以参考

2018-07-11

各种Toast的设计Demo

这是一个Android显示各种Toast 的设计Demo Demo把各种吐司的显示设计成一个工具类,复制工具类和几个图片就可以使用这个工具类 这个工具类调用非常方便的

2018-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除