当前位置: 首页 > news >正文

Lineageos 22.1(Android 15) 编译隐藏API的 android.jar

一、前言

有时候会我们开发系统应用需要一些系统的方法或者属性之类的,但是被隐藏导致无法正常显示,因为SDK提供的android.jar被隐藏了,所以只能看到sourcecode,实际上编译是会报错的,比如:
在这里插入图片描述
在这里插入图片描述
一般这种无法是两种,直接添加一个类,同包名同类名,或者依赖framework.jar,可以骗过编译器编译成功.但是都是无法解决这个爆红的问题,我查了很多修改iml的方法,但是高版本的android studio实际上iml已经没啥东西了,所以目前的修改Iml的方法我测试基本实效,现在只能替换sdk目录下的android.jar来实现了。

二、编译android.jar

首先我们进入Lineageos的源码目录,依次执行

. build/envsetup.sh 
breakfast blueline 
make sdk 

然后我们去out目录下面提取3个jar

lineageos/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar
lineageos/out/target/common/obj/PACKAGING/android_jar_intermediates/android-stubs-src.jar
lineageos/out/target/common/obj/JAVA_LIBRARIES/framework-minus-apex_intermediates/classes-header.jar

提取之后就可以制作我们的android.jar了,步骤如下
1.新建文件夹target
2.提取android.jar到target目录
3.提取class-header.jar同样到target 然后替换合并同名文件
4.在taget目录下执行命令打包

jar -cvfM android.jar .

最后得到android.jar

三、替换验证

我们打开SDK下android-35的目录

在这里插入图片描述
这里我们替换android.jar为我们刚刚生成的文件,然后android-stubs-src.jar为源码编译后提取的jar。然后sync gradle,同步之后可能还会爆红,这时候可以重启一下android studio。这时候可以看到爆红已经解决
在这里插入图片描述

相关文章:

  • DeepSeek 开放平台无法充值 改用其他平台API调用DeepSeek-chat模型方法
  • 代码随想录D50-51 图论 Python
  • AT_dp_u Grouping 题解
  • 猿大师办公助手:高效、安全、兼容的WebOffice在线办公解决方案
  • 【数据分享】1929-2024年全球站点的逐年降雪深度数据(Shp\Excel\免费获取)
  • 项目管理十大领域是哪些
  • IMX6ULL的公板的以太网控制器(MAC)与物理层芯片(PHY)连接的原理图分析(包含各引脚说明以及工作原理)
  • 最新Apache Hudi 1.0.1源码编译详细教程以及常见问题处理
  • 基于 Python 和 Django 的北极星招聘数据可视化系统(附源码,部署)
  • 什么是Scaling Laws(缩放定律);DeepSeek的Scaling Laws
  • C语言全局变量 environ
  • DeepSeek V3模型+Obsidian搭建个人知识库
  • 0078.基于jfinal+jsp的高考志愿填报辅助系统+论文
  • C++ | 智能指针
  • spring boot对接clerk 实现用户信息获取
  • 【附带脚本】解决notion加载慢问题
  • AcWing中01背包问题
  • xTaskGetCurrentTaskHandle()函数使用
  • 数据结构与算法-动态规划-单调队列优化(最大子序列和,旅行问题,烽火传递,绿色通道,修建草坪)
  • FreeRTOS第10篇:系统的“体检医生”——调试与跟踪
  • wordpress后台切换中文/windows优化大师有必要安装吗
  • 做企业网站织梦和wordpress哪个好/现在如何进行网上推广
  • 网站文章发布/b站怎么推广
  • 西宁城东区建设局公租房网站/百度seo快速提升排名
  • 网站免费推广大全/seo运营培训
  • 滁州网络推广公司/杭州网站优化公司