Android使用定制framework开发应用

Android在framework层添加自定义服务的流程 可能有人会问,现在都2024了怎么还在用android4版本,早都过时了。确实,现在最新的都是Android13、Android14了,不过我这里主要是用于demo的演示学习使用,只要整个的流程掌握了,哪个版本的流程都是大同小异;再一个就拿Android13来说,源码100G多非常庞大,代码clone、源码编译都是很慢的,而Android4.1源码才4G多,编译运行就快多了,省时省力。仿照系统中现有服务的编写方式,新增服务需要编写aidl接口(也就是提供什么服务),在frameworks/base/core 阅读详情

Android系统作为目前开源移动操作系统的代表已经更新到了4.0.3版本,由于其开源的特性,使操作系统自身具备了最大限度的弹性,但同时也造成了版本的多样性,市面上所出现的都是各手机厂商或者ROM制作爱好者所修改过的系统。但是如何开发Android系统framework层那,我们知道使用Eclipse+ADT就可以进行Android 应用的开发。使用手机或模拟器进行相应效果的调试。

这是标准的应用开发流程,但在为定制ROM开发定制APK时,经常面对的是使用修改过的Framework,最常见的情况是将原来在Framework中@hide的接口开发,或者加入自定义的新接口。我们知道使用这种接口在Eclipse中会直接报错,根本不能进行编译更不用说进行代码的跟踪与调试了。其实这里可以使用相应的JAVA文件编译得来的.class放入Eclips lib引用库并提高调用优先级,就可以跨越这道屏障,进行应用的开发。顺序如下:

在工程的Build Path 中,AddExternal Class Folder中选择相应的.class文件夹路径,别忘了加入后,再在Order中将调用的class放在系统framework.jar之前,这样就可以完成相关的编译工作。并可以在手机上正常运行。但有一点需要注意,要想使用定制的Framework相关接口,需要手机系统支持。 也就是相应的手机已经带有相应的ROM才能正常调用这部分接口。而相关的.class文件就是在进行系统源码编译时相应的包(out\target\common\obj\)下中间代码。需要根据接口源代码位置,在相应的目录查找。如果不想这么麻烦,可以直接替换整个framework代码!,目录为out\target\common\obj\JAVA_LIBRARIES\framework_intermediates,在下面有classes-full-debug.jar,这个就是未经压缩的jar包了,里面有所有的fraemwork源码生成的.class文件了。

1.在你需要用到的工程中:

点击Build path,点击Add Libraries:

选择User Library,点击Next:

点击User Libraries:

点击New:

在New User Library对话框中输入一个名字,可以自己任意命名,这里取名Myframework,勾选上:system library,点击OK,这样就不必去寻找相应的.class文件,直接使用新framework接口的方法了。

 

 
Android Framework默认授予app通知使用权限 在安卓系统中,应用程序需要获取通知使用权限才能向用户发送通知。如下图, 需要手动配置.文章实现默认授予app通知权限,不需要手动处理. 阅读详情

相关推荐

深入解析AOSP编译产物:framework.jar与android.jar的核心差异与应用场景

本文深入解析了AOSP编译产物中framework.jar与android.jar的核心差异。framework.jar是包含完整实现和隐藏API的系统核心,用于系统定制;而android.jar是仅包含公开API签名的SDK存根,用于应用开发。文章通过编译路径、API可见性机制及实战场景对比,帮助开发者根据角色正确选择和使用这两个关键文件,并提供了系统应用开发中引用framework.jar的配置方法。

weixin_28347369的博客 409

framework_intermediates/classes.jar: unknown package name of class file

编译android源码时如果出现标题类似错误 需要到build/core/tasks/check_boot_jars/package_whitelist.txt 文件中追加对应的类或者包

jamikabin的专栏 1939

Android应用开发:定制Framework加速开发

在Android Studio中,选择"File" -> “New” -> “New Project”,然后选择"Phone and Tablet"模板。当然,实际的定制Framework开发过程中可能还涉及其他更加复杂的操作和功能,但上述步骤可以作为一个起点,帮助你开始定制Framework的开发。在项目中,我们需要添加一个定制Framework模块,用于封装我们的定制功能。右键点击项目,选择"New" -> “Module”,然后选择"Android Library"模板。

CodeGu的博客 337

AndroidStudio引用framework.jar,使用系统签名

AndroidStudio引用framework.jar,系统签名

无心下棋 3015

Framework基础——简介(一)

上面说了一堆的 Framework 的概念介绍,对出初学者来说啥用没用,还是不理解 Framework 开发到底要干什么。说的直白一些,对于 APP 开发者来说,我们都知道 APP 是运行在 Android 系统中,Framework 其实就是修改 Android 系统进行定制。例如,APP 打开蓝牙调用 openBt() 方法,打开 WIFI 调用 openWifi() 方法。我们的定制机要实现调用一个方法就可以同时打开蓝牙和 Wifi。openBt();openWifi();

小旭的专栏 1404

framework_intermediates

可以通过导入附件库,加载系统隐藏类,通过反射调用隐藏接口

Android R 创建系统服务定制api供app使用

Android R 创建系统服务 定制api 供app使用 

qq_35611559的博客 778

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心

在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道

weixin_29188043的博客 707

Android 源码编译生成framework.jar

Debug 系统应用时,导入到 AS 会有大量报红代码,基本都是 framework 和新增模块的,需要导入对应的 jar 包才方便代码查看和跳转。 一般来说,使用 Android 源码全编译之后,会生成 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar 。 这个就是我们需要的 framework.jar (重命名一下),导入到 AS 里后,相关的代码就不会报红了。 但有些代码编译之后没有生成这个,生成的是

weixin_44021334的博客 9133

LabVIEW与VisionMaster融合开发:从封装避坑到高效集成的实战指南

本文为LabVIEW开发者提供了一套与海康VisionMaster融合开发的实战指南。针对直接调用SDK时遇到的程序集加载失败和面向对象编程冲突等核心障碍,文章详细介绍了通过C#进行“浅封装”的解决方案,包括封装显示控件和核心功能类,并给出了在LabVIEW中高效集成、调用及资源管理的最佳实践,旨在帮助开发者稳定、高效地集成机器视觉功能。

weixin_29210727的博客 153

Ardupilot环境搭建

Ardpilot介绍:ArduPilot通过多种传感器的数据(GPS、加速度计、气压计、磁场计)等来估计飞行器的姿态,从而使飞行器能够保持稳定。

weixin_62387234的博客 2635

使用AndroidFrameworks的隐藏类开发应用 or Android使用定制framework开发应用

Android系统作为目前开源移动操作系统的代表已经更新到了4.0.3版本,由于其开源的特性,使操作系统自身具备了最大限度的弹性,但同时也造成了版本的多样性,市面上所出现的都是各手机厂商或者ROM制作爱好者所修改过的系统。但是如何开发Android系统framework层那,我们知道使用Eclipse+ADT就可以进行Android 应用的开发。使用手机或模拟器进行相应效果的调试。 这是标准的应

Android移动开发者的专栏 4116

CLion与STM32CubeMX联调:JLink GDB Server高效调试指南

本文详细介绍了如何搭建并配置CLion、STM32CubeMX与JLink GDB Server联调的现代化STM32开发环境。通过一站式环境搭建、工程创建、核心调试配置及高级技巧(如RTT日志),该组合实现了高效的代码编辑、可视化配置与稳定调试,大幅提升嵌入式开发效率与体验。

web99的专栏 258

安卓巴士论坛

点击打开链接

u014497039的专栏 1182

机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战

本文介绍了一种基于PCA和形态学操作的高光谱图像特征提取方法。通过主成分分析降低数据维度,再运用面积开闭操作增强空间结构特征,有效去除噪声并填补孔洞。实验采用WHU-HI-HanChuan数据集,提供完整的Python实现代码,包括数据加载、PCA降维、形态学处理及结果可视化等步骤。该方法能够显著改善图像质量,为后续分类和变化检测任务提供更好的特征输入。实验结果表明,不同阈值的形态学处理能呈现不同程度的空间结构增强效果,对区域生长、分割和聚类等应用具有重要价值。

lestatlu的博客 1045

CTF逆向实战:如何快速识别RC4、TEA和Base64的魔改变种?

本文针对CTF逆向比赛中常见的加密算法魔改问题,详细讲解了如何快速识别和破解RC4、TEA和Base64的变种。通过分析算法核心特征、常见魔改手法,并结合动态调试与脚本编写等实战技巧,帮助逆向分析人员有效应对算法混淆,提升解题效率。

agile9scrum的博客 782

Android APP应用工程师转Android Framework系统工程师(仅此一篇够了)

(1).Ubuntu系统环境搭建 (2).Android Studio使用及问题解决基础 (3).Android系统源码下载/编译及问题解决基础 (4).Lineage OS、魔趣Mokee、AOSP等开源系统源码中Android机型对应的vendor相关源码可以不用提取,根据机型下载匹配机型的vendor相关源码 (5).Android系统镜像刷机方法 (6).Android整个系统启动流程的整体架构图 (7).Android系统/Framework定制基础 (8).Android系统/Framework

哆啦安全 2765

基于Arduino 的 FM 调频收音机

这是一个基于 Arduino 的开源的收音机项目,它具备一台标准收音机的全部功能,从控制部分到外壳都可以自己 DIY。在项目中,我们将介绍让 FM 收音机调谐器的 RDA5807 模块与 I2C 协议进行通信的方法,整个过程只需要两根线就可以与 IC 通信,接线非常简单。3D 打印的外壳也非常简洁。总之,是个非常简单和实用的项目,来试试吧!

ByteBox的博客 1641

使用AndroidFrameworks开发和应用隐藏类 or Android使用自定义framework开发与应用

Android眼下代表系统的开源手机操作系统已经更新到4.0.3版本号。由于其开源特性。使得操作系统本身所具有的最大的灵活性,但同时也引起的版本号的多样性,市场上出现的是手机厂商或ROM。可是怎样开发Android系统framework层那。我们知道使用Eclipse+ADT就能够进行Android 应用的开发。使用手机或模拟器进行对应效果的调试。 这是标准的应用开发流程,但在...

weixin_30439067的博客 108

2025华为od面试手撕代码【求字符串表达式结果】

2025华为od面试手撕代码【求字符串表达式结果】

MISAYAONE的博客 1351

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

终极指南:使用Framework7-Vue构建跨平台移动应用的完整教程

Framework7-Vue是一款强大的移动应用开发框架,它完美结合了Vue.js的简洁优雅与Framework7的丰富UI组件,让你能够快速构建iOS和Android原生体验的移动应用。🚀 ## 为什么选择Framework7-Vue? Framework7-Vue提供了完整的移动应用开发解决方案,包含超过50个精心设计的UI组件,从基础的按钮、列表到复杂的轮播图、日历选择器一应俱全。无论

gitblog_01009的博客 372

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Androidframework.jar资源文件下载说明:Android系统级资源,简化开发流程

Androidframework.jar资源文件下载说明:Android系统级资源,简化开发流程 【下载地址】Androidframework.jar资源文件下载说明 本开源项目提供了Android系统核心文件 `framework.jar` 的下载资源,该文件是开发系统级应用和进行高级开发的关键组件。通过 `frame...

gitblog_06785的博客 693

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android的技术层次

(一)Android UI控件、Android Java层API相关使用。Java concurrent库、nio库,xml、json解析,socket c/s端的程序。(二)中间层的开发和修改NDK JNI方式的开发,Android framework的了解FFmpeg、Mplayer到Android上运行。android开源代码的结构,中间件下层的库,比如webkit、opencore、opengl。(三)操作系统级别,系统定制Linux驱动开发Linux内核结构针对特定硬件的移植(四)找出ANDROI

理论之树 1113

framework.jar使用

KaTeX parse error: Expected 'EOF', got '}' at position 258: …sspath) }̲ // 配置 K…customJarsPath” // 将自定义 JAR 置于引导类路径前// ]// } }

wei11556的博客 393
上一篇: JAVA构造函数、覆盖、隐藏
下一篇: Android换肤功能设计与实现(1)
zyplus
博客等级 码龄19年 102粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值