Android 壁纸设置和确认demo源码和apk文件
android wallpaper包括锁屏壁纸和桌面壁纸,壁纸又区分静态和动态两种。
本文只介绍静态壁纸设置和确认。
确认demo源码和apk文件
AudioRecordDemo
格式,
而mp3、wav是在纯音频文件上封装了相关的数据。
AudioRecord录音要生成mp3或者wav是要在头部添加一些数据的,
具体的数据格式可以上网找工具类,之前也成功过,但是会有一些坑!
AudioRecord录音可以设置的参数比MediaPlayer多,
MediaPlayer是经过很多封装的,能直接录制成wav的音频文件。
xml2axml.jar
使用java工具反编译AndroidManafest文件
本文介绍通过xml2axml.jar工具反编译AndroidManafest文件
RecordMedia.zip
Android录屏的三种方案
1、adb shell命令screenrecord
2、MediaRecorder, MediaProjection
3、MediaCodec和MediaMuxer, MediaProjection ,
MediaProjection是Android5.0后才开放的屏幕采集接口,通过系统级服务MediaProjectionManager进行管理。
Android签名文件jks和keystore相互装换.zip
Android签名文件jks和keystore相互装换的cmd命令
里面包含了文件和简单示例
apk文件进行解析,跟大家分享一下
apk.zip
最近需要,顺便把学到的相关知识跟大家分享一下
主要内容如下:
1、查看apk文件的基本信息,包名,版本号
2、对未签名的apk文件进行签名
3、apk签名文件转换:jks和keystore相互装换
4、查看签名文件的信息
5、adb方式和java代码方式查看apk签名信息:MD5,SHA1,SHA256
Logcat.zip
Android日志获取总结和简单脚本
Android蓝牙录音
通过打开SCO的方式实现蓝牙录音。
这里附带源码和apk
博客上同步的
ViewPagerAndRecycleView.zip
横向滑动的网格布局
ViewPager嵌套了GridView
代码简单易懂
Android11_frameworks有线网络开关添加相关代码.zip
Android8 以后有线网络开关是没有的需要自己添加链路代码
这里在EthernetManager.java里面进行添加了enable(boolean)接口实现了有线网络的开关,实现过程的相关类进行了打包,搜索里面liwenhzhi即可搜索到修改的地方
查看apk的签名信息.zip
查看apk的签名信息.zip
里面包含了查看apk签名信息的命令和简单示例
并且里面有apk的示例文件
CameraDemo.apk
可使用Camera和CameraManger打开相机
三个界面,
1、获取Camera信息
2、Camer.open打开相机
3、CamaerManger.open打开相机
Pass123456789.zip
压缩包里面有Android的签名文件:jks和keystory两种签名文件。密码都是123456789
查看签名文件的信息.zip
查看签名文件的信息.zip
里面有简单使用命令和示例文件
可以查看到apk的简单信息,比如包名,版本号
Studio默认签名.zip
Studio默认签名.zip
里面包含了我们Studio默认安装的签名文件
这个文件也是可以給apk进行签名的,没有密码的
SwipeBackLayout.rar
Android SwipeBackLayout简单示例
参考的SwipeBackLayout框架:
BGASwipeBackLayout-Android:https://github.com/bingoogolapple/BGASwipeBackLayout-Android
Android常用脚本的使用adb.zip
非常常用的Adb脚本
比如定向获取日志文件,获取系统日志,抓取当前窗口信息,拍照等等
查看apk简单信息.zip
查看apk简单信息.zip
里面包含了查看apk签名信息的命令和简单的使用示例、示例文件
对未签名apk文件进行签名.zip
对未签名apk文件进行签名.zip
这里对未签名的apk文件进行签名,studio可以生成未签名的apk文件
还需要签名文件jks或者keystory。
CommonAdapterDemo
CommonAdapterDemo
里面是一个简单显示ListView的示例
里面有封装好的BaseAdapter的工具类,非常好用
Android13设备上的ANR的logcat日志和ANR堆栈日志
下面主要模拟Activity、Broadcast、Service主线程Sleep和不断执行任务,导致ANR的日志。
不同的系统上报错的实际代码可能有差异,这里仅供参考。
### 1、什么是 ANR?为什么会发生 ANR?
定义:ANR(Application Not Responding)即应用无响应。
是 Android 系统检测到主线程(UI 线程)长时间阻塞时触发的机制,用户会看到 “等待 / 关闭应用” 对话框或者直接崩溃导致关闭应用。
根本原因:
主线程被耗时操作(如 IO、网络请求、复杂计算)阻塞,或因锁竞争、CPU 资源不足导致无法及时处理输入事件或系统回调。
蓝牙调试demo和apk.zip
蓝牙调试demo和apk.zip
如果开发蓝牙相关功能,必须先掌握基本api知识和相关广播的监听‘
蓝牙用的功能基本都是系统签名权限的系统应用,比如Settings;
源码说明:
1、demo逻辑处理比较简单,有一定的bug,后期可以根据需求优化;
2、蓝牙很多逻辑判断使用SettingsLib的一套逻辑会方便很多;上面demo使用的是原生的接口方法;
3、本来想做两个Activity的,一个原生的,一个调用SettingsLib实现基本功能;
4、原生部分开发了一些,SettingsLib调用的方式基本没做,有需求的自己试试,
原生Settings很多接口就是调用的SettingsLib的api;
有线网调试demo源码和apk.zip
有线网调试demo源码和apk.zip
有线网demo 的简单说明:
1、Android 原生没有有线网开关状态,需要自定义属性进行开关记忆;所以默认没设置switch开关控件;
2、有线网开关状态之前方案都是使用Settings.Global.ethernet 开关记录的,3588 AN15 使用的是prop属性记录;
3、静态ip设置:要和自动获取的ip在同一个网段;网关一般设置成X.X.X.1,设置错误会导致无法上网;
4、代理设置:端口号有范围:1-65535,以前好像遇到过311D2 wifi设置端口号范围超出数值会导致系统重启。
5、有些方案设置静态ip或者代理需要关开一次有线网才能生效。
6、有线网接入状态是导入了定制包的,只针对特定系统,其他系统不适用,直接使用估计会崩溃,
其他系统调试需要去除判断有线网接入部分代码,重新编译apk使用;
底层是如何实现判断有线网接入的,没有去研究分析,大概是通过io是否接入判断的。
热点调试demo源码和apk
热点调试demo源码和apk
使用于Android13 或者更新版本的Android代码调试
主要功能:热点开关控制,简单参数设置,自定义参数设置,自定义热点配置;
监听热点开关变化后,更新热点ip,国家码等信息。
后续提供了apk的源码和 3588 AN15 、311D2 AN13 签名的Demo apk;
如果不想重新编译apk,可以放到源码中,替换之前某个apk,重新编译也会生成对应系统签名的apk。
新开的方案有可能遇到只能打开2.4G热点或者只能打开未设置信道的5G热点;
其他情况打开热点会失败,这种情况需要驱动底层先分析解决。
wifi调试demo源码和apk
wifi调试demo源码和apk
包含wifi使用的基本示例代码
wifi开关等接口都是需要系统签名权限才能调用的
基于Android13开发的代码
顺便打包了两个系统签名的apk,311D2 和3588 的apk
其他方案的需要也可以,覆盖签名后进行使用。
QRcode代码和apk
QRcode代码和apk
包含了一个生成热点二维码的实现代码
还有一个apk,版本是Android13,可以直接安装在手机上使用;
如果要系统签名,就修改一下AndroidManifest和jks签名文件;
Android 开发工具箱 apk
Android 开发工具箱 apk
2024年11 月下载的,是下半年的apk,从网页上也是可以搜索发现: “Android开发工具箱” apk应用
里面主要功能:
系统基本信息显示(分辨率、wifi连接情况),屏幕测距,二维码识别,跳转到系统设置界面、开发者选项界面等,权限统计,
应用信息查看,通知和消息监听,Activity界面监听等功能是免费查看的。
反编译、签名需要收费
Android13 蓝牙文件接收过程日志,已经修改视频过对话框接收文件的日志
如果要接收蓝牙文件就要自己接收蓝牙广播进行弹框提示,大概包括:确认接收,显示接收进度,确认取消/完成接收等弹框和实现,具体修改就要适配系统的蓝牙应用。
本文基于Android13 系统蓝牙应用Bluetooth文件传输Opp部分代码适配进行介绍。
也许你工作中不一定有这个需求,但是安卓屏显开发大概率是有这个需求的,
部分有兴趣的并且有系统源码编译运行条件的,可以尝试修改系统源码试试,
有需求的或者有兴趣的可以看看。
Android13 修改蓝牙文件接收为对话框接收过程
Android 原生系统蓝牙接收是在通知栏显示和操作,但是部分定制设备比如大屏或者盒子设备是没有通知栏的。
如果要接收蓝牙文件就要自己接收蓝牙广播进行弹框提示,大概包括:确认接收,显示接收进度,确认取消/完成接收等弹框和实现,具体修改就要适配系统的蓝牙应用。
本文基于Android13 系统蓝牙应用Bluetooth文件传输Opp部分代码适配进行介绍。
也许你工作中不一定有这个需求,但是安卓屏显开发大概率是有这个需求的,
部分有兴趣的并且有系统源码编译运行条件的,可以尝试修改系统源码试试,
有需求的或者有兴趣的可以看看。
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软件版本才能正常使用。
选择有线网或者Wifi 进行网络请求
有些场景需要指定特定的网络进行通讯;
比如Wifi 和有线网同开的设备,指定某个网络进行通讯;或者某些指定网络进行通讯的场景。
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
Android13 wifi adb相关介绍和相关源码
通过代码分析发现Android13 上对 网络adb 进行了限制!
Android13原生代码要求:必现连接上某个wifi,才能进行adb ,并且切换wifi或者关闭wifi都是会停止adb。
并且Android13 上 wifi adb 端口号每次是变化的,这个也是很不方便的!
如果要做成Android11 或者之前一样,设备连接WiFi/有线网络后电脑可以直接进行adb连接,就要对系统代码进行适配修改。
之前以为设置端口号和persist.adb.tls_server.enable 属性就ok了,但是还是有些小bug,还是要完全研究一遍具体流程。
Android 网络请求代码和demo.apk
## 一、主要内容
1、开发网络请求前的基本准备
2、普通网络请求代码
3、使用OkHttp网络框架请求网络代码
4、使用Retrofit网络框架请求网络代码
5、使用WebView显示对应网址的网页
6、应用demo的相关代码和apk
wifi adb demo
添加aml 签名的wifi adb demo代码
包含wifi adb 开关,wifi adb 状态查询,开机自动设置wifi adb功能。
不过添加的是aml 的签名文件,如果是其他平台需要替换对应签名文件。
Android busybox 简单介绍
busyBox是一个集成了一百多个最常用linux命令和工具的软件。BusyBox包含了一些简单的工具,例如cat和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet。有些人将BusyBox称为Linux工具里的瑞士军刀。简单地说,BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令,也包含了 Android 系统的自带的shell。
Android busybox 的一个实用功能:进入adb shell 后编辑一些本地的文件,比如系统的一些xml配置文件。
Android EditText设置密码是否可见
Android EditText设置密码是否可见
从系统层,当个应用app,单个Edittext三个方面实现了EditText 密码字符串显示的修改。
Java文件已经被加密了,需要删除.java文件,把.java.txt 的.txt 去掉即可允许。
默认添加的uid签名,可能要换成自己的系统签名。才能获取系统权限
Android NTP获取时间demo
Android 获取时间demo
包含apk 和里面的代码
本文 不是系统ntp获取时间代码,不过是有借鉴系统ntp service代码开发的demo
简单的Jni Demo 计算器的开发
简单的Jni Demo 计算器的开发
实现了加减乘除,以及字符串拼接,日志打印等简单功能
简单的Jni Demo 计算器的开发
实现了加减乘除,以及字符串拼接,日志打印等简单功能
简单的Jni Demo 计算器的开发
实现了加减乘除,以及字符串拼接,日志打印等简单功能
简单的Jni Demo 计算器的开发
实现了加减乘除,以及字符串拼接,日志打印等简单功能
Android大图加载示例代码和apk
Android大图加载示例代码和apk
代码示例主要包含的内容:
1、大图直接显示
2、手写大图加载
3、Glide加载大图加载
4、手写大图缩放
5、大图加载缩放神器使用