Android Studio for Platform (ASfP) 使用教程

文章目录

      • 编写脚本
      • 下载源代码
      • lunch 查看版本

在这里插入图片描述
归纳的很清楚,下载Repo并下载源码->可以参考我的 Framework入门のPiex 6P源码(下载/编译/刷机)

启动图标(重启生效)

[Desktop Entry]
Encoding=UTF-8
Name=AndroidStudio                                     
Comment=AndroidStudio                                  
Exec=/opt/android-studio-for-platform/bin/studio.sh
Icon=/opt/android-studio-for-platform/bin/studio.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;

OR
/opt/android-studio-for-platform/bin/studio.sh

编写脚本

#!/usr/bin/env bashexport LOG_ACCOUNT=tmp
export LOG_FILENAME=repo-sync
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'aosp_branch=android-11.0.0_r9if [ ! -d ".repo" ]; thenrepo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b $aosp_branchrepo_stat=$?if [ $repo_stat -ne 0 ]; thenecho "init repo faild, please try again"exit 0fi
elselog -o -- "local .repo dir exists"
fitry_count=0
echo "from remote sync aosp"repo sync
repo_stat=$?
while [ $repo_stat -ne 0 ]; dolog -o -- "sync faild, status: $repo_stat, try again in 5s ..."sleep 5repo syncrepo_stat=$?((try_count++))
doneecho "sync repo over, try_count: $try_count"
echo "sync over, success"

下载源代码

在这里插入图片描述

lunch 查看版本

Lunch menu... pick a combo:1. aosp_arm-eng2. aosp_arm64-eng3. aosp_blueline-userdebug4. aosp_blueline_car-userdebug5. aosp_bonito-userdebug6. aosp_bonito_car-userdebug7. aosp_bramble-userdebug8. aosp_car_arm-userdebug9. aosp_car_arm64-userdebug10. aosp_car_x86-userdebug11. aosp_car_x86_64-userdebug12. aosp_cf_arm64_auto-userdebug13. aosp_cf_arm64_phone-userdebug14. aosp_cf_x86_64_phone-userdebug15. aosp_cf_x86_auto-userdebug16. aosp_cf_x86_phone-userdebug17. aosp_cf_x86_tv-userdebug18. aosp_coral-userdebug19. aosp_coral_car-userdebug20. aosp_crosshatch-userdebug21. aosp_crosshatch_car-userdebug22. aosp_flame-userdebug23. aosp_flame_car-userdebug24. aosp_redfin-userdebug25. aosp_sargo-userdebug26. aosp_sunfish-userdebug27. aosp_taimen-userdebug28. aosp_trout_arm64-userdebug29. aosp_trout_x86-userdebug30. aosp_walleye-userdebug31. aosp_walleye_test-userdebug32. aosp_x86-eng33. aosp_x86_64-eng34. arm_krait-eng35. arm_v7_v8-eng36. armv8-eng37. armv8_kryo385-eng38. beagle_x15-userdebug39. beagle_x15_auto-userdebug40. car_x86_64-userdebug41. db845c-userdebug42. fuchsia_arm64-eng43. fuchsia_x86_64-eng44. hikey-userdebug45. hikey64_only-userdebug46. hikey960-userdebug47. hikey960_tv-userdebug48. hikey_tv-userdebug49. pixel3_mainline-userdebug50. poplar-eng51. poplar-user52. poplar-userdebug53. qemu_trusty_arm64-userdebug54. silvermont-eng55. uml-userdebug56. yukawa-userdebug57. yukawa_sei510-userdebug

lunch product_name-build_variant
product_name作为需要构建的产品
build_variant 作为需要构建的变体

PS:安卓官网这步给出的 lunch aosp_arm-eng在实际编译完成后是无法正常运行的,这个是很大的,很多人都是在这一步卡住了很久
真正能在模拟器上运行的是 lunch sdk_phone_x86_64
在这里插入图片描述
在这里插入图片描述
开始编译

Syncing targets: [frameworks, packages/apps/Settings]Preparing for sync...
Updating MAX_ARG_STRLEN to 131072Generating Soong artifacts...
/bin/bash -c "source build/envsetup.sh && lunch sdk_phone_x86_64 && echo ANDROID_PRODUCT_OUT=$ANDROID_PRODUCT_OUT && refreshmod"Refreshing modules (building module-info.json). Log at /data/android-11.0.0_r9/out/target/product/generic_x86_64/module-info.json.build.log.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
TARGET_PRODUCT=sdk_phone_x86_64
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=x86_64
TARGET_ARCH_VARIANT=x86_64
TARGET_2ND_ARCH=x86
TARGET_2ND_ARCH_VARIANT=x86_64
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-86-generic-x86_64-Ubuntu-20.04.4-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RD1A.200810.020.A1
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl hardware/google/camera hardware/google/camera/devices/EmulatedCamera device/generic/goldfish device/generic/goldfish-opengl
============================================
ANDROID_PRODUCT_OUT=/data/android-11.0.0_r9/out/target/product/generic_x86_64

编译成功
在这里插入图片描述
IDE占用内存高达8G
在这里插入图片描述

虚拟机设置
在这里插入图片描述
在这里插入图片描述

https://developer.android.com/studio/platform?hl=zh-cn
https://adtxl.com/index.php/archives/85.html
https://blog.csdn.net/u011897062/article/details/133065217

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

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

相关文章

大模型微调学习

用好大模型的层次:1. 提示词工程(prompt engineering); 2. 大模型微调(fine tuning)为什么要对大模型微调: 1. 大模型预训练成本非常高; 2. 如果prompt engineering的效果达不到要求,企业又有比较好的自有数据,能够通过…

C++使用两个栈实现双端队列——F1 B1 B2 B3 B4 B5 PF PF PB PB

用两个栈v1,v2分别表示左栈和右栈,即可实现双端队列。 当从前面插入元素时,v1.push() 当从后面插入元素时,v2.push() 当两个栈都不空的时候,不管前面后面出栈,都直接Pop 当有一个栈空,比如左栈v1空了&am…

scapy构造ND报文

控制报文之:找邻居报文 什么是ND报文 ND报文是指网络中的 Neighbor Discovery(ND)控制报文。Neighbor Discovery 是 IPv6 网络中的一种协议,它用于管理网络节点之间的邻居关系、地址解析、路由缓存维护和自动配置等任务。ND 协议…

Django实现音乐网站 ⒆

使用Python Django框架做一个音乐网站, 本篇主要为排行榜功能及音乐播放器部分功能实现。 目录 推荐排行榜优化 设置歌手、单曲跳转链接 排行榜列表渲染优化 视图修改如下: 模板修改如下: 单曲详情修改 排行榜列表 设置路由 视图处理…

【Mysql】Mysql的启动选项和系统变量(二)

概述 在Mysql的设置项中一般都有各自的默认值,比方说mysql 5.7服务器端允许同时连入的客户端的默认数量是 151 ,表的默认存储引擎是 InnoDB ,我们可以在程序启动的时候去修改这些默认值,对于这种在程序启动时指定的设置项也称之为…

MySQL建表操作和用户权限

1.创建数据库school,字符集为utf8 mysql> create database school character set utf8; 2.在school数据库中创建Student和Score表 mysql> create table school.student( -> Id int(10) primary key, -> Stu_id int(10) not null, -> C_n…

【Python 零基础入门】 Numpy

【Python 零基础入门】第六课 Numpy 概述什么是 Numpy?Numpy 与 Python 数组的区别并发 vs 并行单线程 vs 多线程GILNumpy 在数据科学中的重要性 Numpy 安装Anaconda导包 ndarraynp.array 创建数组属性np.zeros 创建np.ones 创建 数组的切片和索引基本索引切片操作数组运算 常…

C# 使用 RSA 加密算法生成证书签名产生“The system cannot find the file specified”异常

使用 C# 中 RSA(System.Security.Cryptography.RSA) 加密算法生成证书签名进行身份验证,在 VS2022 开发工具本地运行应用程序一切正常。 但将应用程序部署到远程服务器(如:Azure App Services)&#xff0c…

alsa音频pcm设备之i2c调试

i2cdetect 列举 I2C bus i2cdetect -l ls /dev/i2c* 列出I2C bus i2c-7 上面连接的所有设备,并得到i2c设备地址 i2cdetect -y 7 发现i2c设备的位置显示为UU或表示设备地址的数值,UU表示设备在driver中被使用. I2cdump i2c设备大量register的值 i2cdump -y 7 0x40 I2cset设置…

ROS中的图像数据

无论是USB摄像头还是RGBD摄像头,发布的图像数据格式多种多样,在处理这些数据之前,我们首先需要了解这些数据的格式。 二维图像数据 连接USB摄像头到PC端的USB接口,通过以下命令启动摄像头: roslaunch usb_cam usb_ca…

运行的 akrun 会打印信息到控制台,如何取消打印 -- chatGPT

gpt: 如果运行的程序 akrun 打印信息到控制台,但您希望取消或禁止它的输出,可以尝试以下方法: 1. **重定向输出到空文件**:您可以将程序的标准输出重定向到一个空文件,从而禁止信息输出到控制台。执行以下命令&#…

springboot 集成 zookeeper 问题记录

springboot 集成 zookeeper 问题记录 环境 springboot - 2.7.8 dubbo - 3.1.11 dubbo-dependencies-zookeeper-curator5 - 3.1.11 模拟真实环境,将 windows 上的 zookeeper 迁移到虚拟机 linux 的 docker 环境 failed to connect to zookeeper server 迁移到…

Spring Boot中的Redis自动配置与使用

Spring Boot中的Redis自动配置与使用 Redis是一种高性能的开源内存数据库,常用于缓存、会话管理和消息队列等场景。Spring Boot提供了自动配置来简化在Spring应用程序中使用Redis的过程。本文将介绍Spring Boot中的Redis自动配置是什么以及如何使用它来轻松集成Red…

分权分域有啥内容?

目前的系统有什么问题? 现在我们的系统越来越庞大,可是每一个人进来的查看到的内容完全一样,没有办法灵活的根据不同用户展示不同的数据 例如我们有一个系统,期望不同权限的用户可以看到不同类型的页面,同一个页面不…

动态盘转换为基本盘

问题描述 不小心将磁盘0(C和D是基本盘,蓝颜色)改成了动态盘(C和D是动态盘,橘黄色)?如何修改回来呢? 解决方案: 使用DiskGenius将动态磁盘转换为基本磁盘 操作之前一定…

Linux友人帐之系统管理与虚拟机相关

一、虚拟机相关操作 1.1虚拟机克隆 虚拟机克隆是指将一个已经安装好的虚拟机复制出一个或多个完全相同的副本,包括虚拟机的配置、操作系统、应用程序等,从而节省安装和配置的时间和资源。 虚拟机克隆的主要用途有: 创建多个相同或相似的虚拟…

并发编程——1.java内存图及相关内容

这篇文章,我们来讲一下java的内存图及并发编程的预备内容。 首先,我们来看一下下面的这两段代码: 下面,我们给出上面这两段代码在运行时的内存结构图,如下图所示: 下面,我们来具体的讲解一下。…

CubeMX+BabyOS 使用方法

MCU:STM32G030F 编译器:MDK 托管工具:Sourcetree CubeMX创建工程 BabyOS克隆 添加子模块 git submodule add https://gitee.com/notrynohigh/BabyOS.git BabyOS 切换dev 分支 查看当前分支 git branch -a 切换本地分支到dev git che…

关于网络协议的若干问题(一)

1、当网络包到达一个网关的时候,可以通过路由表得到下一个网关的 IP 地址,直接通过 IP 地址找就可以了,为什么还要通过本地的 MAC 地址呢? 答:IP报文端到端的传输过程中,在没有NAT情况下,目的地…

【JVM系列】- 启航·JVM概论学习

启航JVM概论 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 怒放吧德德 To记录领地 🌝分享学习心得,欢迎指正&#xff0c…