android studio platform使用体验分享(as无法跳转c/c++等native源码的福音,强烈推荐)

hi,粉丝朋友们:
大家好!这些天粉丝朋友们分享了一下Android Studio for Platform 这个最新的google开发的阅读aosp源码的工具,特别适合做原生系统开发。具体官方介绍如下地址:
参考链接:https://developer.android.google.cn/studio/platform

1、android studio for platform工具介绍

在这里插入图片描述
可以直接点击下载(提示目前只有ubuntu可以哈,其他没有,所以说跟着马哥使用ubuntu开发还是有很大优势,尝鲜方便)

看看相关的官方介绍:

Android Studio for Platform (ASfP) is the version of the Android Studio IDE for Android Open Source Project (AOSP) platform developers who build with the Soong build system. ASfP includes the following features:

language
Multi-language Support
Edit C++, Kotlin, and Java programming languages in the same IDE.
settings
Project Setup Wizard
Configure your lunch target and platform modules.

官方的介绍就以上一小段文字,总结如下:
ASfP是专门用于开发aosp的ide工具,有着 Soong build system.,主要有以下几个特点
语言支持部分:
同时支持:C++, Kotlin, and Java 同时使用在ide中编程
设置部分:
可以配置你的编译target和具体的模块

2、android studio for platform痛点解决

这里最吸引我们的还是他居然支持多语言,c++,java,kotlin同时都支持。
以前我们开发aosp时候,其实java部分使用android studio的体验还是相当好,但是android studio没办法支持c++等native代码的跳转和代码提示,所以不得不使用vscode工具,这个vscode工具相关看c++等代码也是比较方便,基本上的代码也是可以跳转的,但是毕竟有时候需要两个工具相互切快捷键等还是有一点点不方便,虽然不太影响。

所以开发aosp之前的选择就是:
java相关代码使用android studio
c++相关代码使用vscode

目前ASfP工具出现真的是我们framework开发者的一个巨大福音,解决了android studio无法跳转c++代码的这个巨大痛点。

3、android studio for platform使用体验

官方使用介绍:

Get started with ASfPIf you haven't already installed repo, follow the instructions at Installing Repo.If you haven't already initialized and synced your Repo checkout, follow the instructions at Initializing a Repo client.Download ASfP.Install ASfP: sudo dpkg -i /path/to/asfp-2023.1.1.19-linux.deb.Open ASfP from the command line: /opt/android-studio-for-platform/bin/studio.sh.Import your project by pointing to your repo checkout directory, specifying a lunch target, and selecting which modules you want to build.Click Finish and your project will begin syncing.Request to join our external group for user support.

这里我们就直接自己转化把
1、下载好工具,安装好即可以(限制在ubuntu)
在这里插入图片描述
在这里插入图片描述
可以直接点击安装的

2、启动工具
在terminator下面输入如下命令:
/opt/android-studio-for-platform/bin/studio.sh
就会启动工具

3、导入需要模块
在这里插入图片描述
这里导入了Launcher和framework
在这里插入图片描述
在这里插入图片描述

同步完成就一切都好了即可以查看相关代码和跳转。

ps使用的注意点:

1、跳转framework的类时候会跳到对应jar包的class文件,不是java文件,解决如下
在这里插入图片描述

2、KeyMap如果习惯eclipse的可以切换

3、如果导入c++相关开发建议以下3个文件夹:
frameworks
system
packages

导入越多整体就慢

总结体验:

整体体验和以前android studio没有大的差别
1、不过说实话单独java部分的代码开发的话,体验还不如以前的android studio轻量,反而依赖的东西太多,对于跳转等,查找代码还没有以前方便,针对java部分的话,这个建议可以先观望等更多版本更新稳定

2、c++部分的native代码,来说简直就利器,非常好用,跳转准确,非常值的推荐

google官方教学视频教程地址:
https://www.bilibili.com/video/BV1UV411P7nf/?vd_source=a8c604ee3ce4999324264828f8fd99d8

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

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

相关文章

Cookie和Session有什么区别和关系?

在技术面试中,经常被问到“Cookie和Session的区别”,大家都知道一些,Session比Cookie安全,Session是存储在服务器端的,Cookie是存储在客户端的,然而如果让你更详细地说明,恐怕就不怎么清楚了。 …

包装类、多线程的基本使用

包装类 1.基本数据类型对应的引用数据类型(包装类) 1.概述:所谓的包装类就是基本类型对应的类(引用类型),我们需要将基本类型转成包装类,从而让基本类型具有类的特性(说白了,就是将基本类型的数据转成包装类,就可以使用包装类中的方法来操作此数据)2.为啥要学包装类:a.将来有…

pyechart练习(一):画图小练习

1、使用Map制作全球人口分布图 import math import osimport matplotlib.pyplot as plt from pyecharts.charts import Map from pyecharts import options as opts# 只有部分国家的人口数据 POPULATION [["China", 1420062022], ["India", 1368737513],…

AI文本创作在百度App发文的实践

作者 | 内容生态端团队 导读 大语言模型(LLM)指包含数百亿(或更多)参数的语言模型,这些模型通常在大规模数据集上进行训练,以提高其性能和泛化能力。在内容创作工具接入文心一言AI能力后,可以为…

大数据课程L2——网站流量项目的算法分析数据处理

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的算法分析; ⚪ 了解网站流量项目的数据处理; 一、项目的算法分析 1. 概述 网站流量统计是改进网站服务的重要手段之一,通过获取用户在网站的行为,可以分析出哪些内…

学习Bootstrap 5的第八天

目录 加载器 彩色加载器 实例 闪烁加载器 实例 加载器大小 实例 加载器按钮 实例 分页 分页的基本结构 实例 活动状态 实例 禁用状态 实例 分页大小 实例 分页对齐 实例 面包屑(Breadcrumbs) 实例 加载器 彩色加载器 在 Bootstr…

【css | loading】好看的loading特效

示例&#xff1a; https://code.juejin.cn/pen/7277764394618978365 html <div class"pl"><div class"pl__dot"></div><div class"pl__dot"></div><div class"pl__dot"></div><div c…

科技云报道:青云科技为何成为IDC云转型的“神队友”?

科技云报道原创。 如今随着出海企业数量的不断增长&#xff0c;跨境业务也逐渐从蓝海变红海&#xff0c;从“价格战”到“智能战”。 一个明显的变化&#xff0c;来自企业对于出海效率的提升。《埃森哲2022中国企业国际化研究》指出&#xff0c;企业想要在出海浪潮中取胜&…

顺序表详解(接口详解)

顺序表&#xff08;接口详解&#xff09;&#x1f996; 1.线性表2.顺序表2.1 概念及结构 3.接口的实现3.1 定义SeqList3.2 初始化3.3 销毁3.4 打印3.5 扩容3.6 数据插入1.头插2.尾插3.下标插入 3.7 数据删除1.头删2.尾删3.下表删除 3.8 查询数据3.9 数据修改 4.顺序表存在的部分…

工厂设计模式

github&#xff1a;GitHub - QiuliangLee/pattern: 设计模式 概念 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式&#xff0c;根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 简单工厂模式、工厂方法模式和抽象工厂模式有何区别&#xff1f; - 知…

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用&#xff0c;原来的三个…