
android
文章平均质量分 85
致守
这个作者很懒,什么都没留下…
展开
-
android存储路径详解
前两天因为开发一个app更新的功能,我将从服务器下载的apk文件放在了内部存储目录(测试手机为小米,路径为:data/user/0/packagename/files)下面,然后安装的时候一直安装不了,提示解析包出错。后来查询发现,安装apk是调用了PackageInstaller,没有相关权限,这个无法获取内部路径,所以会安装不了。借机也复习了一遍Android下面存储相关的知识点,特来总结一番。转载 2024-07-24 16:24:25 · 4593 阅读 · 0 评论 -
Android文件目录、存储概念(/storage/sdcard0, /sdcard, /mnt/sdcard ,/data/data,/data/user/0)
今天刚好想弄清楚Android的文件路径问题,就写了一些的方法试试路径,得出结果如下。但是查找网上的方法得出结论又有点不一样,别人是mnt,我是storage,有点奇怪。转载 2024-07-24 16:04:30 · 310 阅读 · 0 评论 -
深入理解Android中的缓存与文件存储目录
cacheDircacheDir是一个内部缓存目录,用于存放那些可以被快速清除且不会对应用造成太大影响的文件。例如,网络请求的响应结果可以临时存储在这里,当系统内存紧张时,这些文件可能会被自动删除。这个目录位于下。希望通过本文的详尽解析,你已经对Android中不同存储目录的特性和用途有了清晰的认识。合理选择和使用这些目录,不仅能够增强应用的稳定性和性能,还能提供更好的用户体验。如果你有任何疑问或见解,欢迎在评论区留言讨论!转载 2024-07-24 16:03:40 · 94 阅读 · 0 评论 -
qt调用android的文件系统
通过Qt Android Extras模块,我们可以方便地访问Android的文件系统。本文介绍了如何使用Qt调用Android的文件系统,并提供了相应的代码示例。通过这些示例,我们可以在Qt应用程序中实现对设备文件系统的读取和写入操作。转载 2024-07-24 12:59:39 · 283 阅读 · 0 评论 -
AndroidMainfest详解
当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示。移动国家号码,由三位数字组成,每个国家都有自己独立的MCC,可以识别手机用户所属国家。:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置。:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的。:用户选择activity时,软键盘总是显示的状态。:用户选择activity时,软键盘总是被隐藏。转载 2024-07-24 12:58:25 · 212 阅读 · 0 评论 -
获取Android设备唯一标识码
有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码。虽然Android系统中提供了这样设备识别码,但是由于Android系统版本、厂商定制系统中的Bug等限制,稳定性和唯一性并不理想。而通过其他硬件信息标识也因为系统版本、手机硬件等限制存在不同程度的问题。下面收集了一些“有能力”或“有一定能力”作为设备标识的串码。转载 2023-09-03 23:34:50 · 4959 阅读 · 0 评论 -
【sys/power】freeze、standby、mem、disk四个电源状态
此状态下计算机将所有活动的状态保存到磁盘中,然后处于关机状态,此模式下是不耗电的,而相比之前的模式,休眠和唤醒的速度都比较慢。恢复时计算机从内存读出数据,回到挂起前的状态,恢复速度较快。(Suspend-To-Idle), "shallow(浅睡)" (Power-On Suspend) and "deep" (Suspend-To-RAM).Suspend-To-Idle(idle) and hibernation(冬眠) (Suspend-To-Disk), respectively(分别).转载 2023-09-03 21:06:42 · 1219 阅读 · 0 评论 -
Linux的电源管理-休眠与唤醒
上面介绍的是系统休眠或唤醒模式下的电源管理, 对于不同平台,都需要按照DataSheet的说明选择休眠模式,修改u-boot和kernel.那在正常运行模式下,能否单独对设备进行电源管理呢,请期待下一节更新Linux电源管理-Runtime PMLinux的电源管理-休眠与唤醒_/sys/power/state_TommyMusk的博客-优快云博客。转载 2023-09-03 21:05:35 · 2916 阅读 · 0 评论 -
Android睡眠唤醒机制--Kernel态
如果没有, 这个函数就会把early_suspend_handlers中注册的一系列的回调(通过register_early_suspend注册)都调用一次,然后同步文件系统, 然后放弃掉main_wake_lock, 这个wake lock是一个没有超时的锁,如果这个锁不释放,那么系统就无法进入休眠。• 在wake_lock() 中,对一个wake lock加锁以后,会再次检查一下有没有锁, 我想这里的检查是没有必要的, 更好的方法是使加锁的这个操作原子化,而不是繁冗的检查,而且这样的检查也有可能漏掉。转载 2023-09-03 21:02:28 · 1315 阅读 · 0 评论 -
Android新增LED设备--从底层到上层理解安卓架构
注意com_android_server_TestLedService文件的命令方法,com_android_server表示的是包名,表示硬件服务TestLedService在frameworks/base/services/java目录下的com/android/server目录下, 此目录下的TestLedService的类是可以直接调用jni的内容的。1)不是所有的硬件设备都有标准的Linux内核接口,通过HAL层封装了一套固定的向上接口,可以使得上层的开发逻辑更清晰简单。转载 2023-09-03 20:59:32 · 668 阅读 · 0 评论 -
Android的adb使用方法指南(一)
由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。一般情况下,adb 通过 USB 与设备进行通信,但您也可以在通过 USB 完成一些初始设置后通过 WLAN 使用 adb,如下所述。请注意,如果您使用的是 Android Studio,则无需直接使用 adb 在模拟器/设备上安装您的应用。在以下示例中,adb 先获得已连接设备的列表,然后使用其中一台设备的序列号在该设备上安装。同样,如果有多个设备,但只连接了一个硬件设备,请使用。...转载 2022-08-16 22:58:20 · 4791 阅读 · 0 评论 -
ADB 命令知多少?详细 ADB 命令大全来啦
adb shell dumpsys activity |find "mFocusedActivity" 查看前台应用包名,适用于Android 7.0以下,必须先启动app。其中客户端是用来操作的电脑,服务端是Android设备。ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。简而言之,ADB就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!ADB可以直接操作管理手机模拟器或者真实的手机设备(如华为手机)。...转载 2022-08-16 22:59:40 · 20356 阅读 · 0 评论 -
ADB—查看设备信息
ADB,即,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。转载 2022-08-14 12:46:30 · 9448 阅读 · 0 评论 -
adb命令 android 串口_「Android」Android常规adb命令
aapt全称:Android Asset Packaging Tool,看名称就知道他的作用是啥(Android资源打包工具),使用aapt时间先配置aapt环境(可以查看前文配置adb的文章,都是将路径添加到path中,方法相同,aapt链接: https://pan.baidu.com/s/1J4xpCTYUhWcWVFmrvgPiGA 提取码: i3yg)才能使用aapt。上述三个参数(-d -s -e)用于指定目标设备,如果有多个设备/模拟器连接,需要为命令指定目标设备,否则会无法执行命令。...转载 2022-08-14 12:45:35 · 2093 阅读 · 0 评论 -
adb shell 调试 Android 串口
为了调试这些串口,通常需要将它们飞线接出来,用pc的串口连接调试。在adb shell里是可以直接调试串口的,就不用飞线了,还可以验证Android串口配置是否正确。microcom的-t设置要合理,太短,输入命令可能输入不完就退出了,太长要等很久才退出。如果没有响应,请检查Android串口配置是否正确,串口号是否对,波特率是否正确。必须先执行第一个窗口,再执行第二个窗口,因为不设置波特率,第二个窗口显示会有问题。然后可以在第一个窗口输入命令,在第二个窗口可以看到命令和响应。ttyS0 要操作的串口。.转载 2022-08-14 12:44:39 · 2686 阅读 · 0 评论 -
Android查看所有串口和usb设备快捷方法
busybox stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 //该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。busybox stty -F /dev/ttyS0 -a //查看串口参数,查看串口0(/dev/ttyS0)当前的参数,包括波特率、数据位等。在写的串口程序不能正常接收发送数据,可能是linux下的串口设备没有打开,需要改变串口设备的权限(chmod 777 /dev/ttyUSB0)....转载 2022-08-14 12:43:56 · 4719 阅读 · 0 评论 -
文件 IO 中如何保证掉电不丢失数据?
好久没有分享文件 IO 的小技巧了,依稀记得上次分享还是在上次。第二届云原生编程挑战赛正在火热进行中,Kirito 也在做《针对冷热读写场景的RocketMQ存储系统设计》这个题目,不过参与的是内部赛道,没法跟外部的小伙伴们一起排名了。众所周知,存储设计离不开文件 IO,将数据存储到文件中进行持久化,是大多数消息队列、数据库系统的常规操作。在比赛中,为了更贴近实际的生产场景,往往也会引入正确性检测阶段,以避免让选手设计一些仅仅支持内存行为的代码逻辑。试想一下,RocketMQ 或者 Mysql 在宕机之后因转载 2022-07-04 16:26:11 · 588 阅读 · 0 评论 -
Gitee的开源项目QtScrcpy,Android实时投屏软件使用
Android实时投屏软件使用giteegitee是开源中国(OSCHINA - 中文开源技术交流社区)开发的一款基于git的代码托管平台,能够用码云实现代码托管、项目管理、协作开发,目前是国内最大的代码系统关于它的更多的介绍请参看:码云平台帮助文档码云(Gitee.com)帮助文档_V1.2,个人感觉这份文档所提供的入门级别的帮助是最好的,推荐。B站视频:厉害了,免费的安卓实时投屏软件!_哔哩哔哩_bilibiliAndroid实时投屏软件: QtScrcpy这款Android实时转载 2022-02-11 14:04:26 · 1549 阅读 · 0 评论 -
【反编译系列】四、反编译so文件(IDA_Pro)
概述 安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发。使用NDK开发能够编译c/c++程序,最终生成so文件。而so文件是一个二进制文件,我们是无法直接分析so文件的,所以这里需要用到一个反编译工具IDA Pro。IDA Pro能够对so文件进行反汇编,从而将二进制代码转化为汇编语言,利用IDA Pro神奇的F5功能还能将汇编语言反编译成c/c++程序。--摘自《安卓逆向学习笔记转载 2021-12-22 10:26:00 · 15560 阅读 · 2 评论 -
Android 源码分析 - 系统 - init (2 初始化流程)
初始化流程初始化主流程在init.c中实现。1.初始化根目录下的文件系统/dev、/proc、/sys2.重定向标准输入输出到/dev/__null__(open_devnull_stdio,设备号0x0103)3.初始化klog(klog_init,/dev/__kmsg__设备号0x010B)4.初始化属性系统(property_init)5.解析/proc/cpuinfo,获取hardware、re...转载 2021-12-09 13:21:40 · 323 阅读 · 0 评论 -
Android 源码分析 - 系统 - init (1 简介)
init是内核 kernel 初始化完成后启动的第一个进程。进程ID为1。init的源代码在system/core/init/目录。参考:Øandroid的init过程分析ØAndroid的init过程详解(一)ØAndroid的init过程(二);初始化语言(init.rc)解析ØAndroid研究-Android系统初始化程序init和初始化配置文件init.rc分析[zz]ØAndroid init进程中鲜为人知的charger mode 模式ØSELinu...转载 2021-12-09 13:20:35 · 202 阅读 · 0 评论 -
使用AndroidStudio编译NDK的方法及错误解决方案
可以点此链接查看:markdown版本2015年12月14日更新:这些内容均是在AndroidStudio出现之前整理总结的,那时候eclipse的ADT bundle盛行,只有intelij IDEA带的插件开发Android应用程序,但是个人不喜欢用eclipse,所以尽管带插件的intelij IDEA有很多蹩脚和不足之处,依然觉得比eclipse好过百倍(个人喜转载 2017-10-04 23:04:25 · 774 阅读 · 0 评论 -
创新源于模仿之二:美化ListView的尝试
今天继续,模仿MIUI做那个Contacts的ListView,如下图: 其实可以这样归纳一下我们要做的事情: 1. 按首字母分组,显示一个分组的标签头。2. 在右边做一个全字母表,可以用手指上下滑动快速选择字母分组。3. 再做一个当前选中的那个字母的显示。 先说第一件事。我们已经了解ListView/ListAdapter组合做出一个列表界面。那么转载 2017-09-18 15:03:41 · 853 阅读 · 0 评论 -
模仿通讯录按字母分类显示,汉字,英文自动按英文字母分类显示,滑动时用气泡显示最上面的汉字首字母提示,右侧字母栏点击快速定位
废话不多说,先上图。 本Demo实现了如下功能:1.根据汉字首字母,自动按英文字母分类显示。2.滑动时,泡泡显示最上面的汉字首字母提示。3.右侧字母栏点击快速定位,方便多数据的查找定位。不足之处:1.汉字转化得到拼音首字母的时候,我用到了一个pinyin4j-2.5.0.jar包,多音字和某些特殊汉字翻译不准确,如:我发现厦门,它会翻译成shamen,结果首字母变成了s转载 2017-09-18 15:01:10 · 945 阅读 · 0 评论 -
Android 判断网络是否可用、网络类型WIFI/2G/3G/4G及获取IP
1. 在AndroidManifest.xml中添加访问当前网络状态权限[java] view plain copyprint? "android.permission.ACCESS_NETWORK_STATE" > 2. 添加代码检查当前网络是否可用[java] view pl转载 2017-08-15 19:45:21 · 1756 阅读 · 0 评论 -
Android Network --判断网络状态(网络的连接,改变,和判断2G/3G/4G)
现在app大多都需要从网络上获得数据。所以访问网络是在所难免。但是再访问网络之前,我们应该先做一下网络的状态判断。其实在访问网络之前我们要做一些状态判断,对应一些状态判断来做处理,并不是直接使用Http访问网络即可。很多人在开发就经常把网络这块直接跳过,直接访问网络,可以一断网,各种体验效果不好,不是说app没法用,只是体验效果差。还有,就是我们可能为用户考虑,因为现在一般连网是wifi和手机流量转载 2017-08-15 19:43:54 · 2487 阅读 · 0 评论