
Android
文章平均质量分 75
关于 Android 的内容
爱博客大伯
做个合格的程序员。爱博客大伯 是 Abracadabra 的发音。
展开
-
Kotlin 中处理 Java Class 数组的 3 种方式
Kotlin 中处理 Java Class<?>... 或者 Class[] 的 3 种方式文章目录场景 1: 变长参数 Class<?>... parameterTypes方式 1: 直接输入 class方式 2:通过 arrayOf<Class>()方式 3: 通过 Array<Class>()场景2:Class<?>[] parameterTypes场景 1: 变长参数 Class<?>… parameterTypesJav原创 2022-04-20 12:20:17 · 4255 阅读 · 0 评论 -
Android 11 中访问 Android/data 目录的几种方式
文章目录方式1: 通过 USB 「传输文件」方式2:通过 ShortcutShortcutHelper 主界面FilesActivity 界面可以看到 Android/data代码Android 11 中增强了对 Android/data 目录的管控,不同的 app 间不能互相访问 Android/data 目录了。用户在手机的「我的文件」中也看不到 Android/data 目录中的内容。访问 Android/data 的方式比较多,介绍以下几种方式。方式1: 通过 USB 「传输文件」在 PC原创 2021-11-16 23:36:15 · 53637 阅读 · 9 评论 -
解决 「.aidl 文件生成的 .java 文件为空」的问题
问题:.aidl 生成的 .java 文件为空例如,编译 IMyService.aidl 文件,生成的 IMyService.java 文件是空的, 文件大小为 0. IMyService.aidl 是有内容的,且合乎语法。原因在 .aidl 文件中,采用了 中文注释,通过二进制工具可以看到,中文是 utf-8 编码的。所以,可能的原因是 aidl.exe 对 utf-8 支持的不好。解决方案一:把中文去掉感谢 小李-同学 的方案—— Android studio 创建aidl文件无法生成Ja原创 2020-10-28 15:31:41 · 789 阅读 · 0 评论 -
解决 Android Studio 编译错误「finished with non-zero exit value」
问题Android Studio (简称 AS)编译(构建)工程时,会给出一些简短的错误信息,例如,编译 native 代码时(执行任务 :app:buildNative),给出 Process 'command 'D:\android-ndk-r10e/ndk-build.cmd'' finished with non-zero exit value 2 的错误。让人莫名其妙,不知道到底哪错了。解决方法在命令行中构建工程: $ ./gradlew.bat assDebug --info注:assD原创 2020-08-31 19:27:21 · 2686 阅读 · 0 评论 -
开启 Android 反射调用
NoSuchMethodError 问题通过反射的方式调用一些 hidden 的 API 时,可能会报如下错误:AndroidRuntime: java.lang.NoSuchMethodError: No interface method XXX() in class YYY or its super classes…因为 Android 新版本上禁止了反射调用。官方的说明在这里:https://developer.android.google.cn/distribute/best-practi原创 2020-07-14 10:30:00 · 1307 阅读 · 0 评论 -
[Android] 获取手机中的 apk 安装路径
adb shell pm list package使用此命令获取 apk 对应的包名。可以结合 grep 搜索包名。例如:$ adb shell pm list package | grep -i z...package:ru.zdevs.zarchiver...adb shell pm path <package_name>使用此命令获取 apk 的安装路径。例...原创 2020-04-20 14:17:20 · 9966 阅读 · 0 评论 -
访问 Android 开发者网站 & Go 官网
访问 Android 开发者网站方法一:直接访问官网 https://developer.android.google.cn/方法二: 当你搜索 Android 相关的资料时,可能会先搜到 https://developer.android.com,例如https://developer.android.com/studio/build/dependencies,如果没有梯子可能无法访问。这...原创 2019-11-25 13:31:31 · 3519 阅读 · 0 评论 -
Android 8.0.0r17代码分享
Android 8.0.0r17代码分享★ 下载地址链接:http://pan.baidu.com/s/1slnxL1b 密码:6d4x★ 说明建议在linux下解压。如果在windows中解压,会有同名文件。 因为在linux中,文件名是大小写敏感的,即大小写不同,不认为是相同文件,例如,在Linux中, A.java和a.java是不同的文件。但是在windows中,A.java和a.ja原创 2017-10-31 22:12:34 · 739 阅读 · 0 评论 -
打造自己的Android源码学习环境之五:编译Android源代码
打造自己的Android源码学习环境之五:编译Android源代码下载android源代码之后,可以开始编译了。0. 编译Android源码0.1 设置环境当前目录是执行repo init时所在的目录。$ . build/envsetup.sh或者$ source build/envsetup.sh$ source build/envsetup.shincluding device/asus/fug原创 2017-02-05 00:42:18 · 22665 阅读 · 2 评论 -
如何获取手机中其他应用中的字符串? 由『网络链接较慢』的提示说起
★ 起因『网络链接较慢,建议检查网络设置或稍后重试。』这个字符串可能很多人都不陌生。我的手机里在一段时间内一直在弹这个提示,而且是在任意界面中都会提示,样子是这样的: (为了显示完整的字符串,我截了个横屏的图)我选择在WPS office中截图,但这个提示显然不是WPS office提示的(因为在WPS office完全不运行时也会提示这个界面)。总是提示这个界面,确实挺烦人...原创 2018-08-12 01:00:18 · 1297 阅读 · 0 评论 -
protected-broadcast 的一些细节
protected-broadcast 的一些细节★ 1. 引言注:本文中提及的“广播(Broadcast)”,“广播事件”和“Action”的意思大致相同。发送广播(sendBroadcast)也是发送一个指定的action给BroadcastReceiver。在本文中不严格区分“广播”和“Action”,除非有地方特别说明。对于 android 系统应用来说,运用protected-broadc原创 2017-10-31 23:23:37 · 14995 阅读 · 16 评论 -
制作 shell 脚本压缩 Android 8.0代码
制作 shell 脚本压缩 Android 8.0代码★ 初衷下载了Android 8.0.0r17的代码,想把代码压缩保存,并上传到百度网盘分享。 按照之前的做法,把整个目录压缩,生成一个.tar.gz文件,文件大小大概12~13GB。 这次想分目录压缩,即把android 8.0.0r17代码按照目录结构来压缩,只将一级目录压缩。所有一级目录,一共25个,如下:artbionicboot原创 2017-10-31 23:16:11 · 885 阅读 · 0 评论 -
《Android应用安全设计及安全编码指导手册》【2017年2月1日英文版】
《Android应用安全设计及安全编码指导手册》【2017年2月1日英文版】1. 最新版本【2017年2月1日英文版】发布日期:2017年4月7日。下载地址:https://www.jssec.org/dl/android_securecoding_en.pdf对应代码:https://www.jssec.org/dl/android_securecoding_en.zip2. 历史版本2016年原创 2017-05-06 18:09:06 · 1307 阅读 · 0 评论 -
【推荐】《Android应用安全设计及安全编码指导手册》更新到2016年9月1日版本
0. 下载地址该手册有日文版和英文版,英文版下载地址在:https://www.jssec.org/dl/android_securecoding_en.pdf 同时,还有实例代码:https://www.jssec.org/dl/android_securecoding_en.zip1. 简介英文版名称为《Android Application Secure Design/Secure Codi原创 2017-02-03 16:58:58 · 1636 阅读 · 0 评论 -
分享《Android Application Secure Design/Secure Coding Guidebook》
《Android Application Secure Design/Secure Coding Guidebook》已更新到2016年2月1日版本。文档下载地址:《Android Application Secure Design/Secure Coding Guidebook》随书附带的代码下载地址:相关代码参考:jssec.org原创 2016-04-06 00:45:21 · 928 阅读 · 0 评论 -
关于Activity的getReferrer()之一:如何在Activity中获取调用者?
关于Activity的getReferrer()之一:如何在Activity中获取调用者?0. 为什么要在Activity中获取调用者?主要是安全和定制两个方面的需求吧。安全需求: 一般Activity如果已经对外开放了(即exported为true,或者加了Intent-filter),那么对Activity的保护就会降低,形成Activity攻击面,引入了风险。如果只对某几个app开放其Ac原创 2016-12-24 10:16:11 · 14297 阅读 · 4 评论 -
adb forward的细节(1):原理概述
adb forward的细节(1):概述本系列文章从adb forward tcp:11111 tcp:22222说起,介绍adb forward的一些细节,包括adb forward的相关代码,adb forward在drozer上的使用,以及如何利用adb forward开发一个PC端和手机端通信的工具。本文是本系列文章中的第一篇,介绍adb forward的大致原理,目的是看完这篇之...原创 2018-04-22 09:43:37 · 61668 阅读 · 9 评论 -
adb forward的细节(4):使用adb forward打造一个PC端与手机端交互的工具
adb forward的细节(4):使用adb forward打造一个PC端与手机端交互的工具本文根据《adb forward的细节(1):概述》一文中的原理,做了一个PC端应用于手机端应用交互的工具。本文目的是,学习和理解 adb forward 的原理,重点没有放在所做的工具上。所以这个PC端应用于手机端应用交互的工具比较简陋,通过命令行实现的。当然你可以根据自己的想法作出更好的工具。...原创 2018-05-13 09:24:36 · 10790 阅读 · 1 评论 -
搜索 AndroidManifest.xml 中的 action
文章目录★ 搜索在同一行的形式:<action android:name="action_name"/>★ 搜索带换行的形式★ 过滤相同的 actionupdated on 2022.05.30★ 搜索在同一行的形式:<action android:name=“action_name”/>正则表达式:find . -name AndroidManifest.xml | xargs grep -E -soh "<action {1,}android:name=\"[0-9原创 2018-09-26 22:55:16 · 972 阅读 · 0 评论 -
FileProvider 路径配置策略的理解
FileProvider 路径配置策略的理解★ FileProvider的使用在AndroidManifest.xml中 &lt;provider android:name="android.support.v4.content.FileProvider" android:authorities="set_your......原创 2018-11-09 17:15:26 · 29604 阅读 · 4 评论 -
【推荐】Android 应用程序安全设计/安全编码指南
JSSEC 推出的中文版:Android 应用程序安全设计/安全编码指南离线版本,目前只有英文版:https://www.jssec.org/dl/android_securecoding_en.pdf 指南(英语)https://www.jssec.org/dl/android_securecoding_en.zip 示例代码(英语)...原创 2019-08-06 13:39:38 · 617 阅读 · 0 评论 -
JSSEC 推出的中文版:[Android 应用程序安全设计/安全编码指南]
JSSEC 推出的中文版:Android 应用程序安全设计/安全编码指南原创 2019-08-06 13:42:00 · 472 阅读 · 1 评论 -
替代 android:editable 的解决方案
★ 被弃用的属性 android:editableandroid:editable is deprecated: Use inputType instead★ 替代方案findViewById() 得到 EditText,e.g. mYourEditText调用 mYourEditText.setInputType(EditorInfo.TYPE_NULL)◇ 效果mYourEdi...原创 2019-08-22 20:38:25 · 4402 阅读 · 0 评论 -
隐式Intent 的匹配规则
调用者的Intent中如果不指定Action,能否与目标Activity匹配上?如果通过Action匹配一个Service?调用者的Intent中如果不指定Category,能否与目标Activity匹配上?原创 2016-10-20 00:47:35 · 1460 阅读 · 0 评论 -
Android6.0.1r11源代码分享
Android6.0.1r11源代码分享百度云下载链接 密码: e96c原创 2016-04-07 00:40:45 · 1470 阅读 · 2 评论 -
Android 7.1.1r13 代码分享
Android 7.1.1r13 代码链接:http://pan.baidu.com/s/1eRO3rQa 密码:4yut原创 2017-01-15 08:46:27 · 1604 阅读 · 0 评论 -
使用RxPermissions(基于RxJava2)
使用RxPermissions(基于RxJava2)0. 背景Android 6.0 (API level 23)中,将权限分成了两类。一类是Install权限(称之为安装时权限),另一类是Runtime权限(称之为运行时权限)。Install权限是什么? Install权限:安装时权限,顾名思义,是在安装app时,就赋予该app的权限,即安装后立即获取到的权限。normal和signature原创 2017-04-02 00:00:04 · 51923 阅读 · 14 评论 -
打造自己的Android源码学习环境之二:在虚拟机中安装Ubuntu(上)
打造自己的Android源码学习环境之二:在虚拟机中安装Ubuntu(上)本篇主要针对Windows系统的读者,如果你用的已经是Linux系统,可以跳过此篇。0. 安装虚拟机Virtual BoxVirtualBox的下载地址:https://www.virtualbox.org/wiki/DownloadsWindows版本的下载地址:http://download.virtualbox.org/原创 2017-02-03 00:00:33 · 3729 阅读 · 1 评论 -
关于Activity的getReferrer()之二:调用者的包名是如何传给mReferrer的,兼谈startActivity的详细流程
关于Activity的getReferrer()之二:调用者的包名是如何传给mReferrer的,兼谈startActivity的详细流程此博文是《关于Activity的getReferrer()之一:如何在Activity中获取调用者》一文的延续。场景: 有2个app,一个包名为com.galian.mainapp,app名为MainApp;另一个包名为com.galian.secondapp,原创 2016-12-26 02:09:59 · 3456 阅读 · 5 评论 -
打造自己的Android源码学习环境之一:序
打造自己的Android源码学习环境之一:序为什么要打造自己的Android源码学习环境有一个可以编译的Android源码环境,可以在任何自己想了解的源码中加上log信息,验证自己的理解是否准确,有助于理解Android的运行细节。做Android开发,了解Android的运行机制和原理是很有帮助的,尤其是想对Android framework进行深度定制。面向的读者如果在手机厂商或者Android原创 2017-02-02 02:11:53 · 3578 阅读 · 0 评论 -
Android app 与 ActivityManagerService的通信原理(简化版)
Android app 与 ActivityManagerService的通信原理(简化版)Android 的app与 ActivityManagerService (以下简称AMS)的通信是这样的:对上图的简单说明:Android app表示Android应用的进程;Activity Manager Service表示AMS所在的进程(应为system_server,这里为了图的直观,不引出更原创 2016-12-26 02:43:55 · 1299 阅读 · 0 评论 -
Android 权限的一些细节
Android 权限的一些细节0x01 哪些app属于system app?为了区分privilege app和system app,这里先说明system app是什么,避免之后的讨论概念混乱。原创 2016-11-15 01:26:41 · 34435 阅读 · 24 评论 -
Android dumpsys命令的使用方法
0x01 查看dumpsys支持哪些服务: adb shell dumpsys -l列出dumpsys支持的服务名字,例如(仅列出几个,全部服务有100多个)$ adb shell dumpsys -l0x02 查看dump某个具体服务的用法:adb shell dumpsys <服务名> -h这个<服务名>就是adb shell dumpsys -l打印出来的名字,是必须遵守大小写的。原创 2016-10-18 23:06:50 · 4296 阅读 · 0 评论 -
【推荐】《Gradle for Android》
0x01 《Gradle for Android》这本书讲解了Android Studio中使用到的gradle的相关知识。对于了解build.gradle中的各项含义有很大帮助。推荐阅读。《Gradle for Android》下载地址不过要熟练修改build.gradle,还需要学习gradle和groovy的相关知识,以及Android Plugin DSL。原创 2016-10-15 12:37:44 · 707 阅读 · 0 评论 -
Apktool持续更新地址
Apktool持续更新地址http://forum.xda-developers.com/showthread.php?t=1755243目前是2.2.0版本,2016年8月7日发布。 下载链接:https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.2.0.jar原创 2016-08-16 22:10:01 · 1842 阅读 · 0 评论 -
android_server pie/nonpie 解决error: only position independent executables (PIE) are supported
1. android_server_nonpie用于Android 4.4及以下的版本。 android_server_nonpie下载地址2. android_server with pie用于Android 5.0 (L)及以上的版本。 android_server_pie下载地址原创 2016-07-28 01:00:26 · 3340 阅读 · 3 评论 -
打造自己的Android源码学习环境之三:在虚拟机中安装Ubuntu(下)
打造自己的Android源码学习环境之三:在虚拟机中安装Ubuntu(下)0. 安装Ubuntu系统0.1 欢迎界面接上一篇,启动虚拟电脑后,提示选择系统镜像。选择ubuntu-16.04-desktop-amd64.iso之后,点击“启动”,进入安装ubuntu系统的界面。 【注:我安装ubuntu-16.10-desktop-amd64.iso之后,运行Ubuntu出现问题,总是弹提示框,让报原创 2017-02-05 00:35:39 · 3232 阅读 · 3 评论 -
打造自己的Android源码学习环境之四:下载Android源代码
打造自己的Android源码学习环境之四:下载Android源代码下载android代码的全部指导来自:http://source.android.com/source/index.html。 如果你访问不了这个网址,可以看看这个链接。注意,需要同时在主机系统(Host OS)和虚拟系统(Guest OS)中配置hosts。0. 安装所需软件0.1 安装JDK参考: http://source.a原创 2017-02-05 00:40:25 · 6723 阅读 · 0 评论 -
PackageManagerService中的方法名中的LI、LIF、LPw、LPr的含义
* PackageManagerService中的方法名中的LI、LIF、LPw、LPr的含义*注1:本文参考Android 7.1.1r13源码中的PackageManagerService的说明。 这个说明在Android6.0.1中是没有的。注2:本文中PackageManagerService简称为PMS。1. 方法名后缀为LI、LIF、LPw、LPr的方法这里只列举一部分。 后缀原创 2017-03-14 00:52:56 · 4099 阅读 · 2 评论 -
出现error: unable to create file tests/P_str_escape/str\\escape.rs的解决办法
问题描述分析过程解决方案问题描述下载Android源代码时,出现这个错误Fetching project platform/hardware/intel/img/psb_videoFetching projects: 99% (452/456) Fetching project platform/external/vogarFetching projects: 100% (456/456原创 2016-02-01 02:00:48 · 9366 阅读 · 7 评论