Android Framework实战预制packages/apps下应用APK预制使用Android.bp方式

RK3588安卓开机自启动:从广播接收到系统服务的完整方案 在嵌入式安卓系统开发中,开机自启动是保障设备功能可靠性的基础需求。其核心原理在于理解安卓系统的启动流程,特别是从Init进程到System Server的初始化顺序,以及关键的ACTION_BOOT_COMPLETED广播发送机制。这一机制的技术价值在于为应用提供了系统就绪后的启动入口,但其在Android 8.0后引入了“应用需至少启动一次”的限制,对RK3588这类常用于商显、工业HMI的无头设备构成了挑战。因此,实现稳定自启动需要综合运用多种技术方案。从基础的静态广播接收器,到监听网络变化的迂回启动, 阅读详情

hi粉丝朋友大家好!
以前在android framework入门课讲解过第三方应用apk的预制相关内容,那时候是基于Android 8.1的Android.mk,但大家依旧对Android.bp的预制不知道怎么做,所以很多粉丝经常私下问我,干脆这里给大家blog分享,这里我们来使用Android.bp进行预制,因为现在高版本大部分其实都是使用Android.bp,新版本packages/apps下面android 12几乎看不到Android.mk的身影,所以当然我们也需要与时俱进。但是Android.bp相对来说资料较少,不像以前的Android.mk可以继承很多linux的makefile,所以我这边些Android.bp大部分也只能依葫芦画瓢,参考其他应用怎么写的。

下面开始正题:
源码准备等和Android.mk一样具体可以点击看这里:
https://blog.youkuaiyun.com/learnframework/article/details/124222138
也可以关注看看我的b站视频,获取更多课程可以b站直接私聊我: https://www.bilibili.com/video/BV1TS4y1e7De/
在这里插入图片描述

下面我们其实只需要把原来的Android.mk替换成Android.bp具体Android.bp内容如下:

//
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//


//package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
//    default_applicable_licenses: ["Android-Apache-2.0"],
//}

android_app_import {
    name: "MyApp1",

    // this needs to be a privileged application
    privileged: true,

    // Make sure the build system doesn't try to resign the APK
    dex_preopt: {
        enabled: false,
    },

    arch: {
        arm: {
            apk: "MyApp1.apk",
        },
        arm64: {
             apk: "MyApp1.apk",
        },
        x86: {
               apk: "MyApp1.apk",
        },
        x86_64: {
                apk: "MyApp1.apk",
        },
    },
   certificate: "platform",

}

最后可以编译一下:make MyApp1
在这里插入图片描述

Android系统定制之Android.mk和Android.bp语法详解(精通版).mp4 1.Android系统源码定制和编译方法(Android7.0至Android12) 2.Android.mk和Android.bp语法大全及使用方法详解 3.Android.mk或Android.bp中引用Android的第三方(jar、aar、so)、Androidx的类库等的使用方法 4.Android.mk或Android.bp编译生成Apk、静态库、动态库、可执行文件等的使用方法 5.Android系统定制有源码App或无源码App时关于Android.mk或Android.bp的使用方法 立即下载

相关推荐

T265摄像头插着开机后,需要重新插拔才能正常启动

T265摄像头插着开机后,需要重新插拔才能正常启动

qq_35598561的博客 1079

基础篇_android应用到framework开发实战

课程简介本课程专为希望从Android应用开发转向Framework开发的程序员设计。我们将深入探讨Android系统源码,帮助学员全面掌握Framework开发的核心内容。本课程为入门篇,从系统开发中最常用和接触到的知识点入手,让大家平滑的掌握一定的系统开发能力课程目标了解和掌握Android系统源码:通过手把手的教学方式,让学员深入了解Android系统的各个组成部分及其源码。掌握实际系统开发岗位的日常作业:课程内容以实际Framework开发岗位的日常工作为基础,确保学员能够胜任真实的工作环境。掌握Framework开发的核心知识点:课程将以实际功能点和知识点为出发点,系统地教授Framework开发的基本内容。实现个性化开发:通过学习各种简单但有趣的功能点,学员不仅可以掌握Framework开发的知识点,还能定制化一个属于自己的Android操作系统。课程特色实战导向:所有课程内容都基于实际工作中的功能点和知识点,确保学员能够学以致用。源码解析:深入剖析Android系统源码,帮助学员理解底层实现原理。功能驱动:通过实现具体的功能点,让学习过程更加有趣和富有挑战性。个性化定制:最终目标是让学员能够自定义和优化Android操作系统,具备实际开发和调试能力。

新能源知识库(98)SOC曲线介绍

​:一条异常的健康SOC曲线,往往能提前反映出电池性能的衰退或系统存在的隐患。BMS和EMS通过实时跟踪SOC值,能在电池电量过高(如>95%)时停止充电,电量过低(如<20%)时停止放电,从而避免因过度充放电引发的。​:OCV-SOC曲线上较为平坦的部分(例如,磷酸铁锂电池通常在20%-80% SOC范围)。​:在光伏、储能、电网协同的系统中,SOC曲线是能量调度的核心依据。​:电池的寿命很大程度上取决于它的工作方式。​:利用电池静置后电压与SOC的对应关系来估算,较准确但需要电池静置,无法实时使用。

竹君子之家 924

android 源码中预置带.so文件的APK

有源码有.so预置apk: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under,src) LOCAL_PACKAGE_NAME := APK_NAME LOCAL_STATIC_JAVA_

qq_32611951的博客 2689

用MFRC522+STM32打造智能门禁:从硬件选型到云端控制全流程

本文详细介绍了基于STM32微控制器和MFRC522射频模块构建智能门禁系统的完整流程。从硬件选型、电路设计、底层驱动开发,到系统软件架构与状态机设计,并最终实现通过ESP8266模块接入云端平台(如OneNET)进行远程控制和数据可视化。项目深入探讨了MFRC522的SPI通信、卡片操作流程、天线调试以及云端MQTT集成等关键技术,为嵌入式开发者提供了一个从本地感知到云端管控的物联网项目实战参考。

raspberrypi5的博客 741

LT9611EX芯片实战:如何用双端口MIPI转HDMI1.4打造高清播放器(附配置代码)

本文详细介绍了如何使用龙迅半导体的LT9611EX芯片实现双端口MIPI转HDMI1.4的高清播放器开发。内容涵盖芯片特性、硬件设计要点、寄存器配置技巧及完整代码实现,特别适合嵌入式视频处理应用,如机顶盒和便携式媒体播放器。

weixin_29256771的博客 322

android bp文件_Android.bp 文件中引入aar、jar、so库正确编译方法(值得收藏)

引入 aar在模块源码根文件下新建文件夹 libs,复制要引入的 arr文件至此,新建 Android.bp新增如下语句,这里以 lottie.arr 为例android_library_import {name: "lib-lottie",aars: ["lottie-2.8.0.aar"],sdk_version: "current",}然后在模块目录下 Android.bp 文件中的 and...

weixin_30193461的博客 3284

PyMySQLSaver实战:构建高可靠性的LangGraph状态管理

本文详细介绍了如何使用PyMySQLSaver构建高可靠性的LangGraph状态管理系统。通过检查点机制和MySQL持久化技术,开发者可以确保AI应用在崩溃后从最近状态恢复,支持长时间运行任务和多轮交互。文章包含核心架构解析、生产环境部署指南及实战案例,帮助开发者掌握状态管理的核心技术。

weixin_29310605的博客 494

Android 编译之Android.bp

Android 编译之android.bp

qq_27494201的博客 1329

实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)

导读 本文主要介绍使用OpenCV对扫描文本矫正的应用实例及详细实现步骤。 背景介绍 在使用打印机或扫描仪扫描文档时,由于摆放位置差异难免造成扫描文档的倾斜。本文将使用OpenCV将倾斜的文档矫正水平并去除黑边。 实现步骤 本文只针对包含大部分文字的文档做倾斜矫正,思路来源是大部分文字倾斜后同一行的也在同一条直线,通过拟合直线计算文本倾斜角度,然后旋转来实现文本倾斜矫正。 详细步骤: ①加载倾斜图像 ②灰度转换+腐蚀+膨胀 ③Canny边缘检测 + 霍夫线变换检测直线 ...

Color Space的博客 3400

【QNX Hypervisor 2.2 用户手册】2.6 处理qvm终止

你可以注册通知,以在qvm进程实例退出时得到通知。这样你就可以采取相应的措施来响应这种终止事件。

从0到1,突破自己 1106

Android Framework实战预制packages/apps下应用源码预制使用Android.bp方式

hi粉丝朋友大家好! 上节课也给大家讲解了Android.mk方式我们桌面把Android Studio的gradle过程桌面预制到了系统源码的packages/apps下面,这里我们来使用Android.bp进行预制,因为现在高版本大部分其实都是使用Android.bp,新版本packages/apps下面android 12几乎看不到Android.mk的身影,所以当然我们也需要与时俱进。但是Android.bp相对来说资料较少,不像以前的Android.mk可以继承很多linux的makefile,所

learnframework的博客 3063

【图像超分】论文精读:SRConvNet: A Transformer-Style ConvNet for Lightweight Image Super-Resolution

本文提出了一种轻量级图像超分辨率重建方法SRConvNet,结合了卷积神经网络和Transformer的优势。针对传统Transformer计算复杂度高的问题,设计了傅立叶调制注意力(FMA)替代自注意力机制,通过区域频率空间调制实现高效的全局依赖建模;同时引入动态混合层(DML),采用混合尺度动态卷积结合通道拆分机制增强局部特征提取。实验表明,SRConvNet在计算效率和参数数量上显著优于现有轻量级超分方法,同时保持了优异的重建性能。该方法为移动端部署提供了有效的解决方案,在精度与复杂度间取得了良好平衡

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 808

Android 之永乐大典

如下编译脚本逻辑,这里通过DISABLE_DEXPREORT_CHECK宏控来失能是否进行DEXPREOPT优化检测,如果为true则失能,默认需要进行优化检测,通过过滤所有PRODUCT_PACKAGES安装的应用,即先过滤ALL_DEFAULT_INSTALLED_MODULES宏控指定列表里面的应用,然后在过滤DEXPREOPT_SYSTEMSERVER_ARTIFACTS列表中指定的需要dexpreort优化的系统jar。Android DexOpt前世今生:参考。

qq_27672101的博客 1899

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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 系统 预装应用 bp makefile示例

android 应用 预置到系统中。 在之前的开发者使用的都是andorid.mk来做makfile. 为了顺应发展。 切换到android.bp 是有意义的。

研究员的自我修养 1278

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android.bp 编译,Android编译系统中的Android.bp

Android.bp,是用来替换Android.mk的配置文件。 它使用Blueprint框架来解析,最终转换成Ninja文件。与Android.mk不同的是,Android.bp是纯粹的配置文件,不包含分支、循环等流程控制,也不能做算数、逻辑运算。 与此同时,Ninja文件也是如此。 这就产生了一些新的问题与需求——在Android项目上进行选择编译、解析配置、转换成Ninja等——Soong应...

weixin_35133182的博客 608

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

在Android.bp文件中如何引用编译好的so库

在Android.bp文件中如何引用编译好的so库 以Android系统的keystore服务代码的Android.bp文件为例。 要修改keystore服务的源码,在源码中引用第三方so库。 假设so库命名为:libxxxx.so 拷贝so库到keystore源码目录下 path_to_keystore$ ls -R lib lib64 lib: libkeystoreap.so lib64: libkeystoreap.so 在Android.bp文件中声明cc_prebuilt_library_s

wanhex的博客 4972

Android——编译(三):android.bp的相关知识

Ninja 是一个专注于速度的小型构建系统。它与其他构建系统在两个主要方面不同:(是个系统,管理构建的)Ninja的输入文件被设计为由更高级的构建系统生成。Ninja被设计为尽可能快地运行构建, 其他构建系统基于高级语言,而Ninja基于汇编。Ninja基于汇编,专注于速度,不支持分支、循环等流程控制,也不支持逻辑运算,但它允许以其它语言如来维护这些复杂的编译流程和逻辑。例如,我们可以采用Makefile, go, python等等来维护编译的流程和逻辑。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1万+

内置第三方apk总结

本篇集中说明第三方应用集成Android.bp 写法,以及怎么集成可卸载第三方应用。

看图的博客 3283

Android 13 内置三方应用app

也欢迎关注微信公众号期待与你的相识!

weixin_41678668的博客 2506

Android.bp文件中加入第三方JAR包或者so文件的方法

预制jar包 在项目的根目录新建 libs文件夹,放入要导入的jar包比如 testlib.jar 新增Android.bp文件 在新增的libs文件夹下加入Android.bp文件,新增如下内容 java_import { name: "testlib_jar", jars: ["libs/testlib.jar"], } 修改模块中的Android.bp 需要在android...

知识空间 1万+

Android.bp添加编译好的so库

2. so文件会被copy到out/target/product/xxx/system/lib64 或 out/target/product/xxx/system/lib ,被识别到;1.在工程根目录添加lib 和lib64文件目录,并添加so文件;

weixin_42381214的博客 2363

Android.bp文件说明

如下为android-13.0.0_r3中packages/apps/WallpaperPicker2/Android.bp的文件内容。这里关于Android.bp文件的说明谷歌官方给出参考,仅用于快速查看,没有进行翻译,详细可以查看对应的。Android.bp是安卓系统,Soong构建系统使用的配置文件。按照上面文件的描述,android_app表示会生成一个apk文件;关于Soong也可以看下这篇网上的。

Pyth_MR 5961

ANDROID-预制APK的四种方法总结

ANDROID-预制APK的四种方法总结

longmin96的博客 3923
上一篇: Android Framework实战预制packages/apps下应用源码预制使用Android.bp方式
下一篇: 千里马android framework开发解决Accessing hidden method限制,让应用访问隐藏方法(需要可以修改系统源码方案)
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值