android 系统开发
fmc088
这个作者很懒,什么都没留下…
展开
-
SELinux 权限
权限修改方法1: adb在线修改seLinux Enforcing(表示已打开),Permissive(表示已关闭)-放宽意思 getenforce; //获取当前seLinux状态 setenforce 1; //打开seLinux setenforce 0; //关闭seLinux这样操作的话,重新启动恢复之前的状态。方法2: 从kernel中...原创 2018-04-19 00:22:27 · 675 阅读 · 0 评论 -
git :could not open a connection ..Could not read from remote repository. 解决办法
git 在连接外面的服务器时可能出现could not open a connection to your authentication agent问题的解决和Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct access ...原创 2018-07-12 14:39:17 · 412 阅读 · 0 评论 -
APK安装时的过滤方式(packageManagerService):包名白名单或者黑名单---功能验证过,可以参考
有些项目不允许所有APK都拥有安装权限,例如apk只能通过应用商城来安装或者升级,只允许某些特定的apk自升级,不允许pm install等。这就需要添加安装权限白名单来控制。先介绍android中常用的几种安装方式,好针对这几种进行修改 1、 直接调用安装接口。Uri mPackageURI = Uri.fromFile(new File(Environment.getExternalStora...转载 2018-07-07 11:15:22 · 2584 阅读 · 2 评论 -
Android 系统时间自动更新机制--解决 “时间和日期不准确“
两种时间更新机制NITZNITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息。NITZ是自从PHASE 2+ RELEASE 96 的GSM中的可选功能,经常被用来自动更新移动电话的系统时钟。NITZ需要运营商网络支持(通过CS网络),目前国内电信、移动都支持NITZ方式更新时间...原创 2018-07-07 11:41:11 · 12341 阅读 · 1 评论 -
Android 8.0 以后广播接收不到出现问题 Background execution not allowed:
正常我们发送广播:sendBroadcast(new Intent(“this.is.an.implicit.broadcast”));在targetSdkVersion 在25 Android 7.0以后 使用广播会出现Background execution not allowed:这时候,把targetSdkVersion 要小于 25 以下 版本进行编译,这样广播就可以接收正常...原创 2018-07-25 21:05:31 · 2467 阅读 · 1 评论 -
Android系统 给第三方应用(system/app) 权限开启(不会弹授予权限窗口)
frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java 类是对默认权限管理类可以查看grantDefaultSystemHandlerPermissions 该方法,里面有就有授予权限类似方法,可以模仿我们可以通过此类来对我们系统中存在的应用进行默认权限设置。...原创 2018-07-15 10:06:29 · 13236 阅读 · 0 评论 -
ndroid 如何预置APK到 data 和system/app目录
一、如何将带源码的APK预置进系统?1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预制一个名为Test的APK 为例2) 将 Test APK的Source code 拷贝到 Test 文件夹下,删除 /bin 和 /gen 目录3) 在 Test 目录下创建一个名为 Android.mk的文件,内容如下:LOCAL_PA...转载 2018-08-11 10:17:19 · 798 阅读 · 0 评论 -
android编译时拷贝文件及文件夹
拷贝文件PRODUCT_COPY_FILES += device/qcom/msm8909/media/media_profiles_8909.xml:system/etc/media_profiles.xml拷贝文件夹PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/xxx,system/vendor/xx...转载 2018-08-11 10:19:23 · 2103 阅读 · 0 评论 -
Windows 查看文件MD5 SHA1 SHA256
命令如下certutil -hashfile filename MD5certutil -hashfile filename SHA1certutil -hashfile filename SHA256原创 2018-09-11 16:07:02 · 373 阅读 · 0 评论 -
Android 8.0 电池图标 显示分析
frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java 显示电池图标变化状态,setImageDrawable(mDrawable) 就是设置的电池图标。 public BatteryMeterView(Context context, AttributeSet a...原创 2018-09-11 16:28:48 · 2272 阅读 · 0 评论 -
查看apk签名,查看key签名
查看apk的签名方法一:首先用解压软件解压出META-INF目录下的CERT.RSA文件keytool -printcert -file D:\Desktop\CERT.RSA命令执行如图所示: 方法二:查看keystore的签名命令:keytool -list -keystore D:\Desktop\app_key命令执行如图: 方法三:...转载 2018-09-11 16:43:47 · 991 阅读 · 0 评论 -
Android.mk 加入aidl文件编译
需要修改Android.mk文件,加入LOCAL_SRC_FILES += $(call all-Iaidl-files-under, .....)=====================================Android.mk=============================================LOCAL_PATH:= $(call my-dir)...原创 2018-09-11 16:57:36 · 4615 阅读 · 1 评论 -
Android源码 第三方应用普通安装 app权限默认开启
预装应用app的权限默认开启,修改DefaultPermissionGrantPolicy.java。手动安装的第三方app的权限默认开启是修改PackageManagerService.java。在grantPermissionsLpw函数中添加如下代码if(pkg.packageName.contains("com.tencent.mm") || pkg.packageNa...原创 2018-10-15 19:16:24 · 4964 阅读 · 8 评论 -
Magisk 开始认识
介绍: 使用root这块的话,开始使用SuperSu发现有一些问题,没有实时更新,又没办法修改【不是开源的】,magisk则是开源项目,作者很热情的修复bug,实时更新开源项目。 Magisk 是出自一位台湾学生@topjohnwu开发的 Android 框架,目前来说很牛逼的框架,很多地方都可以使用到。 Xposed和magisk在功...原创 2019-05-20 16:56:02 · 9266 阅读 · 0 评论 -
Android系统中设置 默认值 default.xml 参数 解释
在SettingsProvider中设置系统中默认值,我们可以在frameworks\base\packages\SettingsProvider\res\values\default.xml文件中看到常用的一些默认值。default.xml中名称类型意义def_dim_screenbool是否自动关屏,默认truedef_screen_off_timeoutinteger自动关屏幕时间def_a...转载 2018-07-08 12:07:38 · 3000 阅读 · 1 评论 -
Xposed模块开发教程,该篇讲解通俗易懂,所以转发
原文章地址:http://vbill.github.io/2015/02/10/xposed-1/文章讲述了Xposed的原理,以及怎么开发Xposed框架的模块。头一次翻译技术文档,有错误的话请多包涵。怎么为Xposed开发新的模块么?那么读读这篇教程(或者我们可以称他为”泛读短文”)学着怎么去做。这不仅包括“创建这个文件然后插入…”这类的技巧,也包括这些技巧背后的思想。这些思想正是创造价值的步...转载 2018-06-01 12:10:09 · 24902 阅读 · 1 评论 -
Linux 常用指令,全,全,全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info...转载 2018-05-17 11:59:49 · 298 阅读 · 0 评论 -
android 系统音频tinyalsa,调节音频方法
目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操作。说的这么好,但是Android中没有使用标准的ALSA,而是一个ALSA的简化版叫做tinyalsa。Android中使...原创 2018-05-17 16:01:36 · 4529 阅读 · 2 评论 -
android OTA系统升级流程
1. 获取update.zip文件2.验证签名文件3.通过installPackage接口升级4.系统重新启动进入recovery界面(判断/cache/recovery 是否有cmd文件)5.try_update_binary执行升级脚本6.finish_recovery 重启...原创 2018-05-22 09:01:47 · 4795 阅读 · 2 评论 -
android sdk 编译环境搭建 ubuntu
"#"号后面表示注释内容#1.安装更新sudo apt-get update#2.安装32位的兼容服务sudo apt-get install ia32-libs#3.安卓Gitsudo apt-get install git-core gitk#4.安装repo (可无)$cd ~ #进入下载目录$mkdir bin #创建bin目录用于存储Repo脚本$PATH=~/bin:$PATH #将b...原创 2018-05-22 09:11:51 · 362 阅读 · 0 评论 -
android 系统 不深度休眠
1.分析解析 android系统有earlysuspend和suspend两种休眠,earlysuspend是浅度睡眠,suspend是深度休眠。这个是由linux电源管理控制的,电源管理的接口是“/sys/power/state”和"/sys/power/wake_lock","/sys/power/wake_unlock",这个是linux是否休眠和是否进入深度休眠的关键点。只有wa...原创 2018-05-22 10:04:13 · 3373 阅读 · 0 评论 -
JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要
转载地址:https://blog.csdn.net/jason0539/article/details/504406691、什么是JVM?JVM本质上就是一个软件,是计算机硬件的一层软件抽象,在这之上才能够运行Java程序,JAVA在编译后会生成类似于汇编语言的JVM字节码,与C语言编译后产生的汇编语言不同的是,C编译成的汇编语言会直接在硬件上跑,但JAVA编译后生成的字节码是在JVM上跑,需要...转载 2018-05-16 08:47:16 · 265 阅读 · 0 评论 -
RK方案 manifest.xml编译问题,并解决方案
编译出错 Install: out/target/product/rk3288/system/priv-app/TeleService/TeleService.apk Install: out/target/product/rk3288/system/priv-app/Telecom/Telecom.apk Install: out/target/product/rk3288/system/...原创 2018-05-16 10:40:10 · 3243 阅读 · 3 评论 -
android sdk linux 16.04 编译 兼容性出问题 x86_64
编译出现的错误:/home/elinksoft/code/8163/alps/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/bin/../lib/gcc/x86_64-linux/4.6/../../../../x86_64-linux/bin/ld: error: out/host/linux-x86/obj32/STATIC_L...原创 2018-05-16 10:43:39 · 961 阅读 · 0 评论 -
RK3288 支持WIFI 5G搜索 连接
rk3288 ap6330(该wifi模块支持wifi 5G连接) 默认wifi只显示 2.4Gwifi ,5G wifi搜索不到,无法搜索到。要修改该文件“kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile"diff --git a/drivers/net/wireless/rockchip_wlan/rkwifi/b...原创 2018-05-16 10:56:42 · 1782 阅读 · 0 评论 -
android 应用系统签名方法
1.在应用程序manifest.xml文件根节点中加入属性:Android:sharedUserId="android.uid.system";2.在android系统目录build/target/product/security/拷贝系统签名文件:platform.x509.pem、platform.pk8;3.在out/host/linux-x86/framework目录下找到signapk....原创 2018-05-16 11:17:21 · 2719 阅读 · 1 评论 -
android 自定义应用(普通应用)作为launcher应用
在frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java中第一步:在startHomeActivityLocked方法的开始出加入如下代码:String packageName = SystemProperties.get("thirdparty.launcher.packagenam...原创 2018-05-23 18:40:13 · 1839 阅读 · 0 评论 -
魔趣(Mokee)开源代码(android 7.1.2 Android8.1)同步下载
一.下载代码同步Android源码的第一步便是下载Repo,而这个脚本存放于谷歌的服务器上 ,使用repo sync 更新代码。使用魔趣repo镜像1.在当前用户的根目录创建bin文件夹,并添加到系统环境变量中。$ mkdir ~/bin$ PATH=~/bin:$PATH2.下载Repo并给予执行权限 $ curl https://download.mokeedev.com/git-repo...原创 2018-06-13 15:14:54 · 8613 阅读 · 1 评论 -
Android UIAutomator 自动化测试 简介
UIAutomator 是随 Android SDK 一起发布的一个测试框架,该测试框架提供了一系列 API,利用这些 API 我们可以编程和安卓 App 进行交互,例如:打开设置菜单,点击,滑动等。并且可以对设备进行物理指令操作,如:旋转设备,获取设备分辨率等。该测试框架的 jar 包可以在 SDK 的安装目录中找到:/platforms/android-$version/u...原创 2018-06-01 09:44:14 · 7268 阅读 · 1 评论 -
2018-2019安卓系统总结
开发安卓系统,有一些特殊需求,修改系统源码比较普遍,下面说说需求一:屏蔽按键和触摸功能【物理按键】,但是模拟按键是可以操作【自动化操作】,组合键取消屏蔽思路:作为系统都知道PhoneWindowManagerPWM是最终处理按键的结果,但是在模拟按键处理上,也会屏蔽掉,所以不合适在PWM服务进行处理,按键触摸流程是从kernel按键值和系统按键值是有映射关系的,需要通过映射表进行转...原创 2019-06-28 13:48:22 · 391 阅读 · 0 评论