- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 Android 系统开发人员的权限说明文档
文档地址:frameworks/base/core/java/android/permission/Permissions.md大家在这个文档中看到实例:frameworks/base/core/res/AndroidManifest.xml自己使用工具翻译,里面可能有错误,欢迎指正This document targets system developers. App developers should refer to the public documentation.Each app (often c
2024-09-14 17:10:21
2326
原创 android 权限说明
任何应用都可以定义权限<permission 标签是定义权限<uses-permission 标签是使用权限。android:description :权限的说明,比标签更长,信息更丰富。android:icon : 对表示权限的图标的引用。android:label : 权限的名称。android:name: 用于在代码中引用权限的名称。android:permissionGroup : 将此权限分配给一个组。
2024-09-12 17:54:46
1488
原创 Android framework 编程之-进程间 数据共享/通信 方案
可以通过SettingsProvider 和 SystemProperties 来实现简单的进程间通信和数据共享注:framework 中的各个System Server 都在同一进程,不需要进程通信,直接方法调用即可。
2024-09-06 16:35:25
227
原创 Android framework 编程之-根据包名获取应用UID流程分析
从上可知,PackageManagerService 将应用的信息放入到 Settings中维护,单个应用的信息通过PackageSettings 来维护。那什么时候PackageManagerService 解析 apk ,将应用信息维护到Settings中呢,以及如何持久化。关于本地注册和binder 注册大家可以看看这篇博客。// 代码路径如下,大家可以自己查看一下。
2024-09-06 15:59:25
749
原创 Android UID 和 userID 以及 appID
我们知道Android 操作系统是基于Linux内核的,所以Android 的UID 是基于 Linux UID的。
2024-09-05 11:06:33
2098
原创 Android Activity 启动拦截器(ActivityStartInterceptor)创建流程, 以及使用
Android Activity 启动拦截器(ActivityStartInterceptor)创建流程, 以及使用
2023-06-09 09:51:59
1418
原创 ActivityManagerService 的创建 && ActivityTaskManagerService 的 initialize 方法被调用时间点
ActivityTaskManagerService 的 initialize 方法被调用时间点
2023-06-08 17:26:19
167
原创 android init -- LoadPropertyInfoFromFile 源码分析
android init -- LoadPropertyInfoFromFile 源码分析
2023-02-28 15:33:22
203
原创 Android android::base::ReadFileToString 解析
Android android::base::ReadFileToString 解析
2023-02-16 16:53:01
1097
原创 Linux 使用adb 问题 :adb devices => no permissions (user in plugdev group; are your udev rules wrong?)
linux 是 adb 问题
2022-11-08 18:02:05
288
原创 android NDK 编程学习记录
问题1:c++ string 转 char*data() 方法:string str = "hello";const char* p = str.data();//加const 或者用char * p=(char*)str.data();的形式c_str()方法:string str=“world”;const char *p = str.c_str();//同上,要加const或者等号右边用char*参考博客问题2:打印Log导入头文件:#include <android/
2022-04-25 18:22:28
2995
原创 信息安全基础知识点
数字签名数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者用发送者的公钥解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息 ,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。数字签名是个加密的过程,数字签名验证是个解密的过程。生成签名一般来说,不直接对消息进行签名,而是对消息的哈希值进行签名,步骤如下。对消息进行哈希计算,得到哈希值利用私钥对哈希值进行加密,生成签名
2022-04-07 10:52:06
341
原创 Android安全-应用沙盒简述
学习目标:提示:这里可以添加学习目标例如: 一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:搭建 Java 开发环境掌握 Java 基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上 7 点—晚上9点周六上午 9 点-上午 11 点周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如: 技术笔记 2 遍 优快云 技术博客 3 篇 习的 vlog 视频 1
2022-04-06 16:08:47
4304
1
原创 C 语言-踩坑 {持续更新}
不要将 sizeof 用于 C 中的数组参数在 C 中,数组参数被视为指针。因此,表达式sizeof(arr)/sizeof(arr[0])变为sizeof(int *)/sizeof(int),所以是错误的。
2022-02-24 14:18:50
478
原创 android 电源管理 和 Doze 模式
Android 电源基础知识参考博文:https://www.cnblogs.com/linhaostudy/p/12119487.htmlDoze 源码分析
2022-02-14 15:15:19
1379
原创 checkmarx : Input path not canocalized 问题解决方法
https://www.gyanblog.com/tutorials/resolving-checkmarx-issues-reported/https://wiki.sei.cmu.edu/confluence/display/java/FIO16-J.+Canonicalize+path+names+before+validating+them
2022-01-06 14:31:39
2481
原创 Android 11 查看应用是否已安装
Android 11 之后需要添加权限:<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />官方文档说明方法如下:private boolean checkAppInstalled(Context context,String pkgName) { if (pkgName== null || pkgName.isEmpty()) { return false }
2021-10-09 18:12:50
979
2
原创 android app对应的SELUNX 和 Android 权限
自主访问控制DAC(Discretionary Access Control):文件的权限,用户/用户组/其他 -> 对应的读写权限为:执行:1 ;写入:2 ;读取: 4 ; 这些权限可以进行组合:1,2,3,4,5,6,71. 改变文件所属用户 : chown 用户 文件2. 改变文件所属用户组 : chgrp 用户组 文件SELinux(Security-Enhanced Linux):SE LINUX 是在 DAC的基础上,还需要进行再次进行判断。每个进程和系统资源都有
2021-07-29 10:47:52
337
原创 android.mk 关于app的一些标签
LOCAL_CERTIFICATE := platform用于设置不同的签名方式build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:1、testkey:普通APK,默认情况下使用。2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。3、shared:该APK需要和home/contacts进程共享数据。4、media:该APK是media
2021-07-29 10:40:03
204
原创 android 互斥锁 Mutex::Autolock
小白一枚,文章仅供参考,有错误请帮忙指出前提:要理解Mutex:: Autolock 的前提,需要知道C++的栈对象,在方法执行完之后,方法弹栈,对象会自动被回收,然后析构函数会被调用。代码使用实例void test(){ // 定义位置: system/core/libutis/include/utils/Mutex.h // 自动管理互斥,在方法调用结束使,对象存在栈中,会被自动回收,会调用对象的析构函数,会自动解锁。 Mutex::Autolock _l(gProc
2021-06-10 18:28:15
1532
原创 SystemService publishBinderService 和 publishLocalService
通过这种方式注册的服务,不是binder对象,只能再同一进程使用,也就是system_server进程。通过Binder将服务注册到ServiceManager,为了跨进程访问。
2021-02-03 17:26:33
1256
原创 Android 开机广播的接受问题
** 8.0 之后无法再在其清单中注册用于隐式广播的广播接收器**但是开机广播是被豁免的https://developer.android.google.cn/guide/components/broadcast-exceptions开机广播无法原因:1. BOOT_COMPLETED对应的action和uses-permission没有一起添加2. 应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的3. 系统开启了Fast Boot模式,这种模式下系统启动并不
2020-12-17 18:11:01
457
原创 Android· systrace 使用环境配置
python安装需要2.7的版本下载地址###安装pywin32 否则会报错安装地址环境变量配置和java一样,将python配置到路径中比如:C:\Python27错误:error: Error -5 while decompressing data: incomplete or truncated stream解决方案: 命令添加 --no-compresspython systrace.py -o trace.html am wm gfx view --no-compress
2020-11-03 12:27:02
493
原创 Android Studio Gradle简单使用
1. 配置签名文件android { signingConfigs { release { storeFile file("/keyFile/xxx.jks") storePassword "password" keyAlias "alias" keyPassword "password" } } buildTypes { relea
2020-05-18 13:16:28
117
原创 Android SystemUI 快捷开关分析
三个布局文件:SystemUI/res/layout/super_status_bar.xmlSystemUI/res/layout/status_bar_expanded.xmlSystemUI/res/layout/qs_panel.xml
2019-09-23 18:53:53
352
原创 线程中止/中断
线程中止三种方法当run() 方法完成后线程中止使用stop() 方法强制终止线程,该方法已经被弃用。会引发一系列问题使用interrupt方法中断线程,使用标记让run()结束。参考博客线程的中断/阻塞线程和使用中断sleep(), 这种中断属于阻塞线程,线程任然可以获取cpu的执行权synchronized, 同步锁中断,wait()方法,这种中孤单属于挂起状态,一般写在...
2019-08-27 16:02:45
202
转载 Handler 内部类导致的内存泄露修改方法
参考博客:作者:又宠又烦的Android女 官方方法private Handler mHandler2 = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { return false...
2019-07-18 17:40:57
162
原创 AsyncTask使用和源码分析
使用// 定义private class ExecuteTask extends AsyncTask<String,Integer,Void> { // 执行线程任务前的操作 @Override protected void onPreExecute() { super.onPreExecute(); }...
2019-05-16 18:12:52
182
原创 java线程的使用
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2019-05-16 16:33:36
167
原创 gradle3.3 云盘地址
gradle各版本下载地址:http://services.gradle.org/distributionsgradle3.3百度云盘地址:http://pan.baidu.com/s/1slHGf7J
2017-04-09 00:06:50
16994
1
原创 c语言李白打酒算法详解
算法思路: 该算法采用15位2进制数(如:101010101010101)用1和0的全排列来表示喝酒和买酒。 在 for (int i=0; i 第23行中的n+=x&1;是用来计算该数的1的个数。
2015-01-26 18:50:59
5984
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人