android关于源码编译简单的apk处理

文章目录

  • 简述
  • 文件的添加

简述

创建AOSP源码可编译一个简单apk的过程,代码子目录结构图如下所示
在这里插入图片描述

文件的添加

1.com.custom.test目录下创建TestActivity.java文件
用于简单的界面显示类

package com.custom.test;import android.app.Activity;
import android.os.Bundle;import androidx.annotation.Nullable;import com.custom.test.R;public class TestActivity extends Activity {private static final String TAG = "TestActivity";@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);}
} 

2.布局文件activity_test.xml
显示出来的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="16dp"><Buttonandroid:id="@+id/btn_test"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="test"android:textAllCaps="false" /></LinearLayout>

3.values下的资源文件
strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"><string name="app_name">custom_test</string>
</resources>

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.custom.test"><applicationandroid:allowBackup="false"android:label="@string/app_name"android:usesCleartextTraffic="false"><activityandroid:name=".TestActivity"android:excludeFromRecents="true"android:theme="@style/Transparent"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
</manifest>

5.Android.bp文件

android_app {name: "custom_test",static_libs: ["androidx.annotation_annotation",],srcs: ["src/**/*.java"],platform_apis: true,certificate: "platform",
}

通过编译可输出一个custom_test.apk的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/32971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java springboot 正合Knife4j框架

要将 Knife4j&#xff08;之前称为 SwaggerBootstrapUi&#xff09;集成到 Spring Boot 项目中。 可以按照以下步骤操作&#xff1a; 1、添加依赖 在 pom.xml 文件中添加 Knife4j 的相关依赖。确保 Spring Boot 版本与 Knife4j 支持的版本相匹配。 这里以 Maven 为例…

高考填报志愿不容易,压线考生怎么救?

每年的高考季 就是高考生们水深火热的一大月份&#xff0c;很多考生都会纠结要报考哪些学校&#xff0c;哪些专业好&#xff0c;并非每个学生从小就有明确的目标&#xff0c;很多人到6月份才深思这个问题&#xff0c;此时难免手慌脚乱&#xff0c;更别说一些考生的分数处于一本…

创建第一个Springboot项目(环境准备、环境存在的问题、启动时存在的问题、启动的方式)

一、环境准备 专业版创建springboot&#xff0c;直接有一个选项可以选择 社区版&#xff0c;需要下载一个spring的插件 不要直接点 install 因为这个插件是付费的&#xff0c;直接点安装只有30天使用期限 在里面找免费版本的下载 然后安装 安装完成后&#xff0c;这个插件名会变…

利用ChatGPT辅助撰写课题申报书中的研究框架与内容设计全攻略指南

欢迎关注EssayBot&#xff0c;为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥沟通&#xff1a;yida985 撰写课题申报书是启动科研项目的第一个步骤&#xff0c;而研究框架与内容设计又是这一过程中的关键要素&#xff0…

基于YOLOv5的PCB板缺陷检测系统的设计与实现(PyQT页面+YOLOv5模型+数据集)

简介 随着电子设备的广泛应用,PCB(印刷电路板)作为其核心部件,其质量和可靠性至关重要。然而,PCB生产过程中常常会出现各种缺陷,如鼠咬伤、开路、短路、杂散、伪铜等。这些缺陷可能导致设备故障,甚至引发严重的安全问题。为了提高PCB检测的效率和准确性,我们基于YOLOv…

DBEAVER 学习之 批量执行 SQL

目录 1. 现象2. 解决办法 1. 现象 使用 DBEAVER 时&#xff0c;SQL 控制台 执行按钮 只能单条执行 SQL&#xff0c;不可以选中批量执行。 2. 解决办法 系统操作WIN 系统ALT XMAC 系统OPTION X

Go 三色标记法:一种高效的垃圾回收策略

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

C++基础知识——引用

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;Yan. yan.                        …

速盾:使用 CDN 可以隐藏 IP 吗?该怎样应对防御?

在网络技术领域&#xff0c;CDN&#xff08;内容分发网络&#xff09;是一项被广泛应用的技术。那么&#xff0c;使用 CDN 是否可以隐藏 IP 地址呢&#xff1f; 从一定程度上来说&#xff0c;CDN 可以在某种意义上起到对原始服务器 IP 地址的隐藏作用。CDN 会在其网络中缓存内容…

让你的Python代码更简洁:一篇文章带你了解Python列表推导式

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 列表推导式 📒📝 语法📝 条件筛选📝 多重循环📝 列表推导式的优点📝 使用场景📝 示例代码🎯 示例1🎯 示例2⚓️ 相关链接 ⚓️📖 介绍 📖 在Python编程中,列表推导式是一种强大且高效的语法,它允许你用…

微信小程序页面的交互

微信小程序页面交互设计详解 一、引言 微信小程序作为轻量级的应用程序&#xff0c;其页面交互设计对于提升用户体验至关重要。本文将深入解析微信小程序页面交互设计的基本原理&#xff0c;以及如何通过API和组件实现丰富的交互效果。 二、页面结构与基础组件 页面结构&…

【Linux】linux系统命令

文件和目录操作&#xff1a; ls: 列出目录中的文件和子目录。cd: 切换当前工作目录。pwd: 显示当前工作目录的路径。mkdir: 创建新目录。rm: 删除文件或目录。cp: 复制文件或目录。mv: 移动文件或目录&#xff0c;也可以用于重命名。文本操作&#xff1a; cat: 连接文件并打印到…

Java程序之素数问题

题目&#xff1a; 判断101-200之间有多少个素数&#xff0c;并输出所有素数。 程序分析&#xff1a; 判断素数的方法&#xff1a;用一个数分别去除2到sqrt(这个数)&#xff0c;如果能被整除&#xff0c;则表明此数不是素数&#xff0c;反之是素数。素数被利用在密码学上&#…

【408考点之数据结构】线性表的链式表示实现代码

线性表的链式表示 在数据结构中&#xff0c;线性表是一种常见的结构&#xff0c;用于存储和管理一组有序的元素。线性表的链式表示是一种灵活且高效的存储方式&#xff0c;特别适用于频繁插入和删除操作的场景。下面我们来探讨单链表、循环链表和双向链表的特点和实现。 单链…

算法设计与分析 笔记

截图摘自湖南大学彭鹏老师的ppt。笔记也是根据他的ppt整理的。 动态规划 核心 用数组记录中间结果&#xff0c;避免重复计算 三角数塔问题 问题描述 给定一个三角形数塔&#xff0c;从顶部出发&#xff0c;每次只能移动到下一行的相邻元素。要求找到一条路径&#xff0c;…

Mac 本地启动 Dify

本地启动 dify 拉取 dify 文件 git clone https://github.com/langgenius/dify.git启动底层服务 cd dify/docker docker-compose -f docker-compose.middleware.yaml -p dify up -d启动后端 API 安装 poetry brew install poetry配置 cd ../api cp .env.example .env sed…

VS Code安装及环境配置(超详细)

VS Code简介 Visual Studio Code&#xff08;简称 VS Code &#xff09;是 Microsoft 于2015年4月发布的一款代码编辑器&#xff0c;以界面简洁、轻量著称。 它是一款免费开源的现代化轻量级代码编辑器&#xff0c;支持几乎所有主流开发语言的语法高亮、智能代码补全、自定义…

【HTTPS云证书部署】SpingBoot部署证书

这里以华为云证书为例。 1. 下载证书 2. 解压 3. 选择.top_Tomcat复制到SpringBoot的Resource/source下 4. 在.properties文件中进行配置 修改key-store和key-store-password

[面试题]Jenkins

[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…

刷题——比较版本号

比较版本号_牛客题霸_牛客网 int compare(string version1, string version2) {int len1 version1.size();int len2 version2.size();int i0,j0;while(i<len1 || j <len2){long num1 0 ;while(i <len1 && version1.charAt(i) ! .){num1 num1*10 (version1…