AOSP去特征|AOSP导入android-studio|AOSP导入clion

什么是AOSP

复制代码
开源性:AOSP的源代码公开,任何人都可以获取和修改,适合想要开发或自定义安卓系统的开发者。
灵活性:AOSP提供了基本的安卓功能,制造商可以基于AOSP开发出自己的定制系统(如三星的One UI、小米的MIUI、华为的EMUI等)。
参考标准:AOSP作为安卓系统的基础,为安卓生态系统中的硬件和软件提供了一个标准。任何符合AOSP标准的应用都可以在AOSP基础上运行。
不包含Google服务:AOSP并不包含Google Play服务(如Google Play商店、Gmail等),这些服务是Google专有的。在中国市场或不依赖Google服务的设备上,厂商可以基于AOSP构建自己的应用商店和服务体系。

脱壳能干吗

复制代码
Root检测绕过
脱壳机
集成证书

过root检测

复制代码
如果root之后手机会有信息特征,app可以通过这些特征来达到闪退或者白屏得效果
检测情况
	比如在系统目录下有没有su命令
		/system/app/Superuser.apk
		/sbin/su
		/system/bin/su
		/system/xbin/su
		/data/local/xbin/su
		/data/local/bin/su
		/system/sd/xbin/su
		/system/bin/.ext/.su
	root权限可能会改变设备的某些系统属性,应用可以通过检查这些属性来判断。
		例如,通过读取getprop命令的输出查看系统参数,或检查ro.debuggable、ro.secure属性是否被更改。

将AOSP导入到Clion

复制代码
在~/bin/aosp 目录中执行下面得操作
source build/envsetup.sh
lunch  
然后选择自己的版本
继续输入下面的
export SOONG_GEN_CMAKEFILES=1
export SOONG_GEN_CMAKEFILES_DEBUG=1
然后进行构建
用clion打开下面得目录
/bin/aosp/out/development/ide/clion/art/runtime/libart-arm64-android

将AOSP导入到Android Studio

复制代码
source ~/bin/aosp/build/envsetup.sh
mmm development/tools/idegen/
	用于编译 AOSP(Android 开源项目)中的 idegen 模块的命令。
	idegen 是一个工具,专门为在 IDE(集成开发环境)中查看和编辑 AOSP 源码而设计。
	通过编译 idegen,可以生成适用于 Android Studio 或 IntelliJ IDEA 的工程配置文件(如 .ipr 和 .iml 文件),从而方便地在这些 IDE 中导入和浏览 AOSP 源码。
development/tools/idegen/idegen.sh
如果显示权限不足没关系 等待即可 
如果完成了会生成
ls ~/bin/aosp/ | grep andro
android.iml
android.ipr

之后配置Android Studio
	1.先创建一个空项目 然后让他去加载gradle 图在下面 这个时间很长感兴趣的可以配置国内源
		https://blog.csdn.net/github_74110837/article/details/143092695 
		上面你那个博客是更还源
	2.在设置栏搜索Android S  找到Android SDK 然后在SDK Platforms中 下载 你所需要的安卓版本 我这里是 10 和11
	3 在设置栏目中找到 SDKTools中 下载NDK CMake 这两个  图在下面
用 android studio打开 ~/bin/aosp/android,ipr  这时间就很长了 大概得半个小时了




脱壳

复制代码
正向开发 
先需要将app打包成apk 之后在进行加壳 使用第三方加固  也就是将apk提交给第三方加固 然后就可以发布app了
加固方式有
	VMP加固 虚拟机保护   (自定义虚拟机)虚拟机运行此代码 -> 手机在运行 
	整体加固 直接整体加固
	抽取加固 只有骨架没有血肉 执行功能填充  整体思路就是主动运行某个方法的时候抽出来保存
	其实大型app对速度有要求的一般都是不加壳的

文件修改

关闭 senlinux

复制代码
~/bin/aosp/system/core/init/selinux.cpp
如果没动过话 在106行数 加入 return false


开启adbd得root权限

复制代码
~/bin/aosp/system/core/adb/daemon/main.cpp

去除aosp特征值

复制代码
下两个是指纹信息是该Android版本在于app眼中是什么存在
	正式版本
	调试版本
所以要改成正式版本
/aosp/build/tools/buildinfo.sh
/aosp/build/tools/buildinfo_common.sh
还有其他特征值

修改PTRACE_TRACEME
	~/bin/aosp/bionic/libc/bionic/ptrace.cpp
	获取当前进程id 并且获取 prtace进程 那么就退出
修改得地方如下图



证书增添

复制代码
将弄好得证书放入到
~/bin/aosp/system/ca-certificates/files 

证书如何处理的话可以看我以前的文章
相关推荐
猫头虎1 小时前
如何解决IDE项目启动报错 error:0308010C:digital envelope routines::unsupported 问题
javascript·ide·vue.js·typescript·node.js·编辑器·vim
百锦再2 小时前
Android Studio开发中Application和Activity生命周期详解
android·java·ide·app·gradle·android studio·studio
CN.LG2 小时前
IntelliJ IDEA 内存优化
java·ide·intellij-idea
移动开发者1号2 小时前
Android现代进度条替代方案
android·app
万户猴2 小时前
【Android蓝牙开发实战-11】蓝牙BLE多连接机制全解析1
android·蓝牙
RichardLai883 小时前
[Flutter 基础] - Flutter基础组件 - Icon
android·flutter
前行的小黑炭3 小时前
Android LiveData源码分析:为什么他刷新数据比Handler好,能更节省资源,解决内存泄漏的隐患;
android·kotlin·android jetpack
清霜之辰3 小时前
安卓 Compose 相对传统 View 的优势
android·内存·性能·compose
_祝你今天愉快3 小时前
再看!NDK交叉编译动态库并在Android中调用
android
一杯凉白开3 小时前
Android View 事件的分发机制 四句口诀 先问拦截再派送,子不处理父兜底, 一旦消费无后续, 滑动冲突靠逻辑。
android