修改Android7.1.1里的Settings使设备能默认安装未知来源的应用
来源:互联网 发布:Laymine java 编辑:程序博客网 时间:2024/05/21 08:50
在Android7.1.1里,默认是不可以安装未知来源应用的,若想安装未知来源应用则需进入Settings里的安全设置,打开允许安装的开关即可。
但是现在我们因为项目需求,需要将其改为默认允许安装未知来源应用
编译及导入
先将Android7.1.1源码从服务器clone下来,用git clone 命令
再在Linux下编译此源码,编译前需配置环境
再编译./build.sh msm8996 –v eng –j3(或者j1)
再编译源码idegen模块及生成AS配置文件(*.ipr)
source build/envsetup.sh
lunch msm8996-eng
mmm development/tools/idegen
development/tools/idegen.sh
Android studio打开一个存在的项目,选择生成的.ipr文件导入
删除依赖:在android studio的File/Project Structure/Modoles/Dependencies
(1) Module SDK/NEW 选择一个SDK
查找需要修改的地方
在Android Studio的终端里切换至Settings目录,命令:cd packages/apps/Settings
因为代码太多,我们首先应该根据字符串(未知来源)来找到需要修改的位置
接下来使用几条命令来一步一步找到我们需要修改的地方
grep -nr 未知来源 *
结果:
如果grep -nr install_application *
如果grep -nr install_unknown_applications
grep -nr toggle_install_applications * | grep java
查看warnAppInstallation()和setNonMarketAppsAllowed()
INSTALL_NON_MARKET_APPS在android/frameworks/base/core/java/android/provider/Settings中,所以在Linux终端中输入cd android/frameworks/base
grep -nr “INSTALL_NON_MARKET_APPS” *,看这两个类
在DatabaseHelper类中
grep -nr def_install_non_market_apps
false改为true
只需要修改此资源文件这个小小的点就可以实现默认安装未知来源应用,但是想要找到它还是要花些功夫的。
编译源码
命令行输入:./build.sh msm8996 -v eng -j3(或j1)
刷机
命令行分别输入:
adb reboot bootloader
sudo fastboot flash system out/target/product/msm8996/system.img
(若未成功,则再刷一遍
sudo fastboot flash boot out/target/product/msm8996/boot.img
sudo fastboot flash userdata out/target/product/msm8996/userdata.img)
sudo fastboot reboot
启动查看效果
可能会遇到的问题
- 虚拟机内存不足
- 编译环境配置不正确
安装正确的jdk:sudo apt-get update
sudo apt-get install openjdk-8-jdk
- 修改Android7.1.1里的Settings使设备能默认安装未知来源的应用
- Android系统设置settings应用学习(一)--允许未知来源应用安装
- mac中修改npm的默认安装来源
- 安装apk未知来源默认选上
- Anroid8.0安装未知来源应用
- macOS 10.12 不允许未知来源开发者的应用
- Android中系统应用适配未知来源的管理权限
- 允许或禁止未知来源apk的安装
- 关于Mac安装破解软件,未知来源消失的问题
- Android修改应用的默认安装位置
- Android开发丶解决应用不能在Android7.0+设备上不能安装的问题
- android7.0应用安装失败的问题
- dedecms如何修改文章默认的来源和作者
- 修改chrome的安装目录(默认的竟然安装在documents and settings目录,google真不厚道)
- 修改chrome的安装目录(默认的竟然安装在documents and settings目录,google真不厚道)
- Android8.0“未知来源”安装
- "设置--安全--未知来源“默认打开
- 修改系统默认的录音设备
- Apalis TK1 运行 Android 7.1
- 关于Linux-网络通信工具
- Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't
- mysql-Innodb事务隔离级别-repeatable read详解(转)
- SQL循环更字段的值
- 修改Android7.1.1里的Settings使设备能默认安装未知来源的应用
- TCP、UDP、IP 协议分析
- stylus用法
- 调用函数
- Java面向对象设计模式(二十三)——解释器模式(Interpreter)
- 设置springboot启动端口
- 网页版简历
- 114Mall快速编译之FreeLine 安装指南Mac
- 枚举+宏定义