Android底层知识
Android底层知识
码点
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 默认修改中文语言设置
Android系统修改默认语言为中文的方法:在源码路径/build/make/target/product/full_base.mk文件中,将PRODUCT_LOCALES参数值由默认的en_US改为zh_CN即可。这一简单修改可以使新编译的Android系统默认显示中文界面,方便中文用户使用。原创 2025-09-18 23:45:00 · 50 阅读 · 0 评论 -
Android 获取蓝牙mac地址
摘要:本文展示了一种通过反射机制获取Android设备蓝牙MAC地址的方法。代码通过获取BluetoothAdapter实例,反射访问其私有字段"mService",再调用getAddress()方法获取MAC地址。该方法需要处理多种异常情况,包括字段/方法不存在、非法访问等。注意这种反射方式可能因系统版本变更而失效,且需要适当权限。原创 2025-09-05 23:45:00 · 100 阅读 · 0 评论 -
Android 获取以太网mac地址
这篇代码展示了在Android系统中获取以太网MAC地址的方法。通过NetworkInterface类的getByName("eth0")方法获取网络接口,然后读取其硬件地址并格式化为标准的MAC地址字符串(XX:XX:XX:XX:XX:XX)。异常情况下会返回默认值"02:00:00:00:00:00"。该实现考虑了错误处理,并使用StringBuffer来拼接格式化后的MAC地址字节。原创 2025-09-04 23:45:00 · 73 阅读 · 0 评论 -
Android 设备下电数据库未执行保存,主动触发全局同步(应用层)
摘要:在Android设备异常下电导致数据库未保存时,可通过应用层主动触发全局同步。代码示例展示如何新建线程延迟1秒后执行sync命令强制刷盘。需注意该操作可能因系统繁忙延迟,建议仅用于非实时关键场景。此方法可作为数据保护的补充措施,但不能完全替代常规保存机制。原创 2025-08-01 23:45:00 · 92 阅读 · 0 评论 -
Android 查看当前页面,APP版本
摘要:在Android系统中,可通过ADB命令获取当前页面和APP版本信息。查看当前页面使用"dumpsys activity activities"或"dumpsys window | grep mFocus"命令;查看应用版本则通过"dumpsys package 包名 | grep version"命令获取。这些命令适用于开发者调试和分析应用状态。原创 2025-06-11 23:45:00 · 149 阅读 · 0 评论 -
Android 默认第三方app运行权限(android11-13)
摘要:Android 11-13系统中,位于PermissionManagerService.java的权限管理机制将运行时权限授予改为安装时授予。通过GRANT_INSTALL标志,系统在APK安装阶段即自动授予所有申请权限,无需再在运行时请求。这一改动简化了权限授予流程,提升了用户体验。原创 2025-06-11 23:45:00 · 454 阅读 · 0 评论 -
Android Selinux Error avc: denied { getattr } for path=“/data/update_ota.zip“ dev=“dm-2“ ino=817 sco
Android SELinux 权限问题。原创 2025-04-16 22:45:00 · 225 阅读 · 0 评论 -
Android Selinux Error avc: denied { write } for path=“/data/ota_package/update.zip“ dev=“dm-9“ ino=1
翻译过来就是 system_app 对于ota_package_file 目录缺少write 权限。Android SELinux 权限问题。原创 2025-04-16 22:00:00 · 193 阅读 · 0 评论 -
Android SELinux权限使用
例如:service.te 中 type flyme_auto_coreservice, system_api_service, app_api_service, system_server_service, service_manager_type;例如:service_contexts 中 flyme_auto_coreservice u:object_r:flyme_auto_coreservice:s0。查看主体的安全上下文:主体是指进程,是活的,是安全行为的发起者 ps -Z 查看安全上下文。原创 2025-04-07 23:00:00 · 585 阅读 · 0 评论 -
Android ListPreference使用
ListPreference是Android中的一个Preference子类,用于显示一个可选择的列表,并且可以保存用户所选择的值。它继承自DialogPreference,可以在用户点击时弹出一个对话框,显示可选择的选项,并将用户选择的值保存到SharedPreferences中。然后通过调用findPreference方法获取ListPreference实例,并设置监听器。在Android中,ListPreference相当于Windows中的下拉列表框,提供用户可选项和默认选项。原创 2025-02-15 23:45:00 · 446 阅读 · 0 评论 -
Android 设置系统语言和地区
修改build/tools/buildinfo.sh,增加如下语句。关键:在设置语言后,需要设置对应的地区。原创 2023-03-09 16:20:55 · 918 阅读 · 0 评论 -
Android logcat打印日志异常read: Unexpected EOF!
出现这个日志,logcat进程退出,原因是log buffer size设置过小导致,而默认size为256KB,如果程序长时间运行,产生了大量的日志,最终日志缓存的大小超过了默认的256kb。android开发,通过logcat可以更直接的看出程序执行的顺序以及开发产生的日志信息,但是logcat输出read: Unexpected EOF!异常,日志就不打印了?注意:修改和查看buffer日志缓存区大小都是用大英语字母“g”的,但是区别在于,修改是大写字母"G",而查看是小写字母“g”.原创 2023-02-28 23:45:00 · 994 阅读 · 0 评论 -
Android 命令获取外网IP
Android 命令获取外网IP。原创 2023-02-28 01:00:00 · 796 阅读 · 0 评论 -
Android 命令启动服务
Android 命令启动服务。原创 2023-02-03 23:45:00 · 628 阅读 · 0 评论 -
Android 命令发送广播
Android 命令发送广播。原创 2023-01-11 23:00:00 · 743 阅读 · 0 评论 -
Android 源码编译找不到资源文件解决办法
我们在Android framework中修改资源文件时,在Android 4.0之前,都是直接在sourcecode/frameworks/base/core/res/res下面添加对应的资源文件,然后编译framework-res即可,但是这种情况到了Android 4.1就有改变了。(3). 未import正确的资源包;(2). 未编译framework-res,从而导致无法找到资源文件;(4). 没有修改frameworks/base/core/res/res/values/public.xml;原创 2023-01-05 01:00:00 · 1150 阅读 · 0 评论 -
PowerShell升级
PowerShell升级原创 2022-11-09 23:45:00 · 2990 阅读 · 0 评论 -
Android 获取当前页面
Android 获取当前页面原创 2022-09-17 17:26:01 · 1417 阅读 · 0 评论 -
Android 8.1安装以上app包解析包错误Permission Denial: that is not exported from UID 1000
<div class="article-header-box"> <div class="article-header"> <div class="article-title-box"> <h1 class="title-article" id="articleContentId">Android 8.1安装app包解析包错误Permission Denial: that is not exported from转载 2021-06-01 20:40:58 · 3218 阅读 · 0 评论 -
Android Preference隐藏,删除方式
隐藏 Preference 有两种方法:一、先在xml布局里面删,然后在java里面删掉调用的相关部分,但如果很多地方都有调用,那么删除就很麻烦;二、用removePreference(Preference preference) 方法 删除;//推荐方法实例:testpreference.xml 代码:<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.a原创 2021-01-13 14:58:43 · 4018 阅读 · 2 评论 -
Android SystemProperties
Android SystemPropertiesimport android.os.SystemProperties; boolean xxx = SystemProperties.getBoolean("persist.debug.xxx", false);boolean xxx = "1".equals(SystemProperties.get("ro.debuggable")); String xxx = SystemProperties.get("ro.xxx");String x原创 2020-10-27 15:44:02 · 564 阅读 · 0 评论 -
Android 自定义SeekBarPreference
在 PreferenceScreen 布局里面,做Android系统应用的,比如Settings模块,会用到PreferenceScreen,但是Android又没有PreferenceScreen控件,所以就必须自定义:seekbar.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=...原创 2020-03-11 19:51:17 · 1185 阅读 · 0 评论 -
Android 打印所有log
1.wifi连接的方式:C:\Users\ThinkPad_2>adb connect 192.168.18.206:5555already connected to 192.168.18.206:5555C:\Users\ThinkPad_2>adb shellmarconi:/ $ sumarconi:/ # logcat2.用串口:C:\Users\Think...原创 2020-02-26 15:10:53 · 699 阅读 · 0 评论 -
Android 源码中修改开机画面和动画
转自:https://blog.youkuaiyun.com/LOVE000520/article/details/52292509Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。第一个过程显示的画面是一张图,第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方。...原创 2019-12-07 14:27:33 · 1412 阅读 · 3 评论 -
Android Apk静默安装卸载的方法(后台安装)
一、大概说下思路(1)利用系统应用的权限执行pm install命令的安装方法,如果你是大众应用(说的就是通用软件任何Android手机上都用的比如:微信)的话这个方法不现实也是满足不了你的需求的,这个主要在行业终端上使用的。(2)具体代码如下:public static boolean installApp(String apkPath) { Process process ...转载 2019-11-04 11:51:22 · 1230 阅读 · 0 评论 -
Ubuntu 和Windows系统之间文件相互复制粘贴
在安装Ubuntu系统后发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:第一步:sudo apt-get autoremove open-vm-tools第二步:sudo apt-get install open-vm-tools-desktop然后重启搞定...原创 2019-09-26 11:15:31 · 17324 阅读 · 23 评论 -
Ubuntu 18.04 安装 python3.7
Ubuntu 18.04系统内置了Python 3.6和Python 2.7版本,以下是在Ubuntu 18.04系统中安装Python 3.7版本的方法。1. 执行所有升级# sudo apt update# sudo apt upgrade -y122. 安装编译Python源程序所需的包# sudo apt install build-essential -y# sudo ap...原创 2019-09-12 19:20:42 · 1174 阅读 · 0 评论 -
Ubuntu 系统桌面任务栏和启动器全部消失
ubuntu桌面上没有启动器,没有任务栏,只有一个背景,但是运行正常。这种情况很可能是文件管理程序出现异常了。解决办法:Ctrl+Alt+F1 进入命令行,输入:sudo service lightdm restart 重启lightdm如果不行的话就重装Unity,依次输入:sudo apt-get updatesudo apt-get install --reinstall ubu...原创 2019-09-16 11:20:34 · 405 阅读 · 0 评论 -
Ubuntu Linux安装其他版本GCC的方法
有时候,在Linux中需要安装固定版本的GCC,才能满足工作要求。例如:在Fedora22中,编译OpenCV的cuda部分需要GCC 4.9.X及以下的版本,而Fedora22的GCC是在5.1-5.3版本之间。又例如:编译Caffe中的matcaffe需要GCC 4.7.X及以下的版本。所以安装过低版本的GCC时通常要自己动手,下面是常规操作:1.下载GCC在GCC官网http://www...原创 2019-09-16 17:09:09 · 1217 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(8)
写给Android App开发人员看的Android底层知识(8) 转自包老师:http://www.cnblogs.com/Jax/p/6910745.html(十)PMS及App安装过程 &nb...原创 2018-04-02 15:10:58 · 975 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(7)
写给Android App开发人员看的Android底层知识(7) 转自包老师:http://www.cnblogs.com/Jax/p/6910699.html(十二)ContentProvider (1)Conten...原创 2018-04-02 15:08:45 · 1115 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(6)
写给Android App开发人员看的Android底层知识(6) 转自包老师:http://www.cnblogs.com/Jax/p/6883534.html(十一)BroadcastReceiverBroad...原创 2018-04-02 14:48:31 · 973 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(5)
转自包老师:http://www.cnblogs.com/Jax/p/6883549.html#top (十)Service Service有两套流程,一套是启动流程,另一套是绑定流程。我们做App开发的同学都应该...原创 2018-04-02 14:45:35 · 906 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(4)
写给Android App开发人员看的Android底层知识(4) 转自包老师:http://www.cnblogs.com/Jax/p/6880647.html(八)App内部的页面跳转 &nb...原创 2018-04-02 14:41:49 · 921 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(3)
转自包老师:http://www.cnblogs.com/Jax/p/6880631.html (七)App启动流程第2篇 书接上文,App启动一共有七个阶段,上篇文章篇幅所限,我们只看了第一阶段,接下来讲剩余的六个阶段,仍然...原创 2018-04-02 14:38:20 · 861 阅读 · 0 评论 -
写给Android App开发人员看的Android底层知识(2)
转自:包老师(五)AMS如果站在四大组件的角度来看,AMS就是Binder中的Server。 AMS全称是ActivityManagerService,看字面意思是管理Activity的,但其实四大组件都归它管。估计是Android底层开发人员先写了ActivityManagerSe...原创 2018-04-02 14:28:43 · 1022 阅读 · 0 评论 -
Ubuntu18.04下安装配置SSH服务
1.安装ssh工具,打开终端键入如下命令:apt-get update apt-get install openssh-server2.选择Y继续执行:启动SSH服务1.键入如下命令:/etc/init.d/ssh start注:重启命令与关闭命令如下:/etc/init.d/ssh restart #重启SSH服务/etc/init.d/ssh sto...原创 2019-09-11 19:38:33 · 982 阅读 · 0 评论 -
Ubuntu提示“没有根文件系统 ”
安装Ubuntu时,提示“没有定义根文件系统”原因:分区错误解决:将Ubuntu分区,删除重新创建分区,注意挂载点为“/”此时就可以单击“继续”,进行下一步安装以上分区方式,是没有交换分区的,下面提供两种带交换分区的分区方式:第一种,包含4个分区,分别为/分区(大小:15G+)交换空间分区 (大小:3G,根据硬盘大小,最大为内存的2倍,最小为512MB),类似于Windo...原创 2019-09-09 17:15:18 · 12192 阅读 · 0 评论 -
Ubuntu 语言设置
对于Ubuntu 18.04的初学者来说,安装中文版本的系统还是比较好用的。但是随着学习使用的深入,你会发现中文版本存在这很多缺陷,如由于中文目录的关系,很多软件无法正常下载,那么这时候你可以将中文版改成英文版,往往就能解决问题,不需要重装系统。我们需要修改的文件/etc/default/localesudo vim /etc/default/locale(sudo gedit /etc/de...原创 2019-09-25 15:36:04 · 1121 阅读 · 0 评论 -
Android 平台的几个编译命令----make,mmm,mm,mma
在android源码根目录下,执行以下三步即可编译android:1. . build/envsetup.sh #这个脚本用来设置android的编译环境;2. lunch #选择编译目标 3. make #编译android整个系统android平台提供了几个命令用于编译,分别为:1. make: 不带任何参数则是编译整个系统,编译时间比较长,初次编译使用此命令。m...原创 2019-09-20 14:11:54 · 1698 阅读 · 0 评论
分享