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

news/2024/7/16 8:55:04 标签: android studio, c++, android, 车载, 车机, ide, aosp代码工具

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

android_studio_for_platform_6">1、android studio>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和具体的模块

android_studio_for_platform_32">2、android studio>android studio for platform痛点解决

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

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

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

android_studio_for_platform_44">3、android studio>android studio for platform使用体验

官方使用介绍:



Get started with ASfP

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

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

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


http://www.niftyadmin.cn/n/5031354.html

相关文章

leetcode229. 多数元素 II(java)

多数元素 II 题目描述Hash表记录 题目描述 难度 - 中等 leetcode229. 多数元素 II 给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 示例 1: 输入:nums [3,2,3] 输出:[3] 示例 2: 输入&#…

C++DAY10 结构体·结构体指针

结构体指针的作用&#xff1a; 通过指针访问结构体中的成员。 *利用操作符->可以通过结构体指针访问结构体属性。 #include<iostream> using namespace std; //1、创建结构体 struct student {string name;int age;int FS; };int main() {//2、创建结构体变量struc…

java获取音频,文本准转语音时长

jar 以上传到资源中 <dependency><groupId>it.sauronsoftware</groupId><artifactId>jave</artifactId><version>1.0.2</version></dependency> mvn install:install-file -DfileD:\xxx\xxx\jave-1.0.2.jar -DgroupIdit.sauro…

【Shiro】基本使用

1、环境准备 1、Shiro不依赖容器&#xff0c;直接创建maven工程即可 2、添加依赖 <dependencies><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.9.0</version></depen…

自动化控制系统的设计重点是什么?

要实现对选择性激光烧结系统预热温度的控制&#xff0c;需要找到合理的控制对象模型&#xff0c;但选择性激光烧结设备的预热温度场是一个复杂的非线性系统&#xff0c;很难找到合理的控制对象模型来实现预热温度场的温度控制。模糊控制不需要具体的控制模型&#xff0c;预热温…

怎么实现批量文本txt转音频wav

随着人工智能技术的不断发展&#xff0c;语音合成技术也得到了广泛应用。其中&#xff0c;文本转语音&#xff08;Text-to-Speech&#xff0c;TTS&#xff09;技术是语音合成技术中的重要一环。在过去的几年中&#xff0c;深度学习网络在TTS领域取得了显著的进展&#xff0c;并…

【SLAM】视觉SLAM简介

【SLAM】视觉SLAM简介 task04 主要了解了SLAM的主流框架&#xff0c;清楚VSALM中间接法与直接法的主要区别在什么地方&#xff0c;其各自的优势是什么&#xff0c;了解前端与后端的关系是什么 1.什么是SLAM 2.VSALM中间接法与直接法的主要区别在什么地方&#xff0c;其各自的…

UT_hash实现增删改查

1.引入库并初始化 代码如下&#xff08;示例&#xff09;&#xff1a; #include "uthash.h" typedef struct {int key; //可以就只有key不加valueint value;UT_hash_handle hh; } Hash; Hash *hashtable NULL;2.增删改查hash数据 2.1 增加和修改 hash_insert(key…