Android 系统开发工具

这篇具有很好参考价值的文章主要介绍了Android 系统开发工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、SSH 服务与 Tabby Terminal

SSH 服务使得我们在其他平台上通过 SSH 客户端程序即可访问到我们的 linux 服务器。方便我们的开发工作。

接下来我们分为两步来介绍 ssh 服务的搭建以及客户端的使用:

1.1 配置 Ubuntu ssh 服务

  1. 安装 openssh-server
sudo apt install openssh-server
# 开机自启动
sudo systemctl enable ssh
# 重启 ssh 服务
sudo systemctl restart ssh
  1. 配置固定 IP 地址
sudo apt install net-tools -y  
cd /etc/netplan
# 备份旧的配置文件
sudo cp 00-installer-config.yaml  00-installer-config.yaml_before
# 修改配置文件:
sudo vim 00-installer-config.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s5:   # 网卡名称
      dhcp4: no     # 关闭dhcp
      dhcp6: no
      addresses: [192.168.1.89/24]  # 静态ip,根据自己网络情况配置
      gateway4: 192.168.1.1     # 网关,根据自己网络情况配置
      nameservers:
        addresses: [192.168.1.1, 114.114.114.114] #dns,根据自己网络情况配置

使配置生效:

sudo netplan apply

至此,固定 IP 就配置好了。

2、Samba 服务器搭建

Samba 是一款数据共享的软件,可用于 Ubuntu 与 Windows 之间共享源代码,传输文件。

Ubuntu 安装 samba 服务端:

sudo apt install samba

配置 samba,修改 /etc/samba/smb.conf,添加如下内容:

[Project]
        comment = project
        path = /home/mtjsoft/Project #你自己需要共享的目录
        browseable = yes
        writable = yes

后续操作:

chmod 777 /home/mtjsoft/Project
sudo smbpasswd -a username #这里是当前用户名
sudo systemctl enable smbd #samba 开机自启动
sudo systemctl restart smbd #重启 samba 

windows 访问 Ubuntu 共享的文件键:

win 键加 R 键,跳出运行窗口,输入 \192.168.1.89,其中 192.168.1.89 是 ubuntu 的 IP 地址,你需要根据你自己的情况修改为自己的 Ubuntu 的 IP 地址。
Android 系统开发工具,android framework学习笔记,Framework,android
点击确定,即可访问到 Ubuntu 中共享的文件了

3、Idegen + Android Studio 查看源码

source build/envsetup.sh
lunch aosp_x86_64-eng
make idegen -j16

mmm development/tools/idegen
development/tools/idegen/idegen.sh

完成上面的操作后,就会在源码下生成 android.ipr 和 android.iml 文件

3.1 修改android.iml文件 (可选)

如果您的主机配置满足google建议的最低要求(至少16G RAM, CPU 4核以上),并且您想导入全部安卓源码用于开发,您可以参考步骤3.2继续您的导入流程,如果您的主机配置不够或您像我一样只是关注Farmwork层代码。您可以从这一步开始您的导入流程。
打开android.iml,该文件配置项非常多,其中有三部分最为主要:

  • sourceFolder:表示包含的文件目录,在本教程中只需要留下framewrok。
  • excludeFolder:表示不包含的文件目录,安卓源码中很多代码是我们不需要关注的,我们可以配置这部分目录到excludeFolder,以让我们的IDE在导入过程中忽略它们。
  • orderEntry:
    表示代码目录的相关依赖,如果不删除的话,ctrl+左键跟踪代码时,AS会默认使用orderEntry中指定的jar包,并跳转到jar包中的.class文件。
    所以删除orderEntry只保留最下面两行即可。 由于我只关注Framework层的相关代码,所以我可以作如下配置:

sourceFolder标签 全局搜索

<sourceFolder url="file://$MODULE_DIR$/frameworks

字段,把除了这个字段以外的全部删除即可。

excludeFolder标签

<excludeFolder url="file://$MODULE_DIR$/art" />
<excludeFolder url="file://$MODULE_DIR$/bionic" />
<excludeFolder url="file://$MODULE_DIR$/bootable" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/cts" />
<excludeFolder url="file://$MODULE_DIR$/dalvik" />
<excludeFolder url="file://$MODULE_DIR$/developers" />
<excludeFolder url="file://$MODULE_DIR$/development" />
<excludeFolder url="file://$MODULE_DIR$/device" />
<excludeFolder url="file://$MODULE_DIR$/docs" />
<excludeFolder url="file://$MODULE_DIR$/external" />
<excludeFolder url="file://$MODULE_DIR$/hardware" />
<excludeFolder url="file://$MODULE_DIR$/kernel" />
<excludeFolder url="file://$MODULE_DIR$/libcore" />
<excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
<excludeFolder url="file://$MODULE_DIR$/out" />
<excludeFolder url="file://$MODULE_DIR$/pdk" />
<excludeFolder url="file://$MODULE_DIR$/platform_testing" />
<excludeFolder url="file://$MODULE_DIR$/prebuilts" />
<excludeFolder url="file://$MODULE_DIR$/sdk" />
<excludeFolder url="file://$MODULE_DIR$/system" />
<excludeFolder url="file://$MODULE_DIR$/test" />
<excludeFolder url="file://$MODULE_DIR$/toolchain" />
<excludeFolder url="file://$MODULE_DIR$/tools" />
<excludeFolder url="file://$MODULE_DIR$/.repo" />

orderEntry标签

<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />

打开 Android Studio,File->open,选择 android.ipr 文件。

4、AIdegen + Android Studio 查看源码

idegen对电脑配置的要求会更高一些。相比之下,Android10及以上支持的 Aidegen 会更好用一些。

4.1 准备工作

AIDEGen,我叫它 “爱得跟”, Android10 中,google 推出的一个工具,用于方便开发者使用 IDE 来查看和修改系统源码。

使用 “爱得跟” 之前我们需要做一些准备工作,编译 sdk:

source build/envsetup.sh
lunch sdk-eng
# or
#lunch sdk-userdebug
# or
#lunch sdk-user
make sdk

接着我们需要去 google 官方下载 Android Studio,这里推荐3.6.3版本,并将其放到 /opt 目录下。

接下来,选择我们的目标 Product:

source build/envsetup.sh
lunch aosp_x86_64-eng

做好以上准备工作后,我们就可以打开系统模块了,这里我们以 Settings 为例:

# Settings 更换为其他模块名或是模块存在的路径即可打开其他模块
aidegen Settings -i s  # -i 表示使用ide,s 表示 Android Studio

4.2 Android Studio 配置

稍作等待,Android Studio 就打开了,不过现在还不能直接使用,我们还需要做一些基本的配置:

4.2.1 添加源码中的 jdk 和 sdk

Android Studio 打开后,右下角会出现一个提示框(如果没有出现,点击 file -> Invalidate Caches -> Invalidate and Restart):
Android 系统开发工具,android framework学习笔记,Framework,android
点击 Configure,出现以下界面:
Android 系统开发工具,android framework学习笔记,Framework,android
点击 ok 即可。

接着配置 jdk 和 sdk,点击 file -> Project Structure:
Android 系统开发工具,android framework学习笔记,Framework,android
接着点击 + 号:
Android 系统开发工具,android framework学习笔记,Framework,android
点击 Add JDK:
选择源码下的 prebuilts/jdk/jdk9/linux-x86,然后点击 ok:
Android 系统开发工具,android framework学习笔记,Framework,android
接着将 name 修改为 aosp10-jdk9,然后点击右下角 apply:
Android 系统开发工具,android framework学习笔记,Framework,android
接着点击 + 号,添加 Android SDK:

选择系统源码目录下的 out/host/linux-x86/sdk/sdk/android-sdk_eng.mtjsoft_linux-x86 (最后一个文件夹的名字和你的用户名相关,你的和我的可能不一样),然后点击 ok:

接着 Java SDK 选择刚刚添加的 aosp10-jdk9,点击 ok:
Android 系统开发工具,android framework学习笔记,Framework,android
接着,修改 sdk 的名字为 aosp10-android-sdk29:
Android 系统开发工具,android framework学习笔记,Framework,android
点击 ok 即可。

4.2.2 配置项目的 sdk

接着我们需要配置项目的 sdk,点击 file -> Project Structure,点击左侧 Project,右侧 SDK 选项选择 aosp10-android-sdk:
Android 系统开发工具,android framework学习笔记,Framework,android
点击左侧 Modules,中间选择 Settings,右侧 Module SDK 选择 Project SDK:
Android 系统开发工具,android framework学习笔记,Framework,android
接着,中间选择 dependencies-Settings,右侧 Module SDK 选择 Project SDK:
Android 系统开发工具,android framework学习笔记,Framework,android
最后点击 apply,项目开始重新索引,项目内绝大部分类方法变量均可正确跳转。

至此,配置完成。

4.2.3 在 Android Stuido 中调试系统App Settings

首先,我们开一个新的终端,打开模拟器:

source build/envsetup.sh
lunch aosp_x86_64-eng
emulator

接着我们在 Settings/AndroidManifest.xml 查找到 Settings App 的首 Activity 为 SettingsHomepageActivity,我们在其 onCreate 出打一个断点:
Android 系统开发工具,android framework学习笔记,Framework,android
接着在 Android 模拟器中打开 Settings 应用。

接着点击 android studio 的 debug 按钮:
Android 系统开发工具,android framework学习笔记,Framework,android
在弹出的窗口中,依次选择 Settings 和 com.android.settings,然后点击 ok
Android 系统开发工具,android framework学习笔记,Framework,android
在模拟器中,点击返回键,再次进入 Settings 应用,即可进入调试界面:
Android 系统开发工具,android framework学习笔记,Framework,android
接着我们就可以顺利的进行调试了。

5、VSCode

VSCode 是一款微软推出的文本编辑器,通过它的插件系统可以实现类 ide 的体验,在功能性和适应性角度,非常适合用于 Android 系统开发。
我们可以通过两种方式来使用 VSCode

  • Ubuntu 本机使用
  • Windows 通过 remote-ssh 插件远程使用 VSCode 编辑linux 上的代码

5.1 Ubuntu 本机使用

首先是安装 VScode,在官网下载好 deb 格式的安装包,接着安装:

sudo dpkg -i code_1.76.2-1678817801_amd64.deb

这样我们就可以使用 vscode 了,我们打开 vscode,然后通过 file -> open folder 选择我们的系统源码,即可打开整个系统源码。

当然,我们也可以根据需要只打开我们关心的模块。

另外为了使我们的 vscode 更好用更好看,通常我们会安装一下一些插件:

  • C/C++ Extension Pack
  • Extension Pack for Java
  • Makefile Tools
  • RC Script language
  • Android System Tools
  • Android Studio Color Theme

5.2 远程使用

在vscode 插件市场中安装好 Remote-SSH 插件。

接着就可以配置 SSH 远程连接了:

点击左侧 remote-explorer 图标,点击右侧加号:
Android 系统开发工具,android framework学习笔记,Framework,android
在弹出的输入框中,输入 用户名@IP地址,点击回车。

接着,选择第一个配置文件,点击回车。
Android 系统开发工具,android framework学习笔记,Framework,android
接着,左侧的清单中就会出现我们配置的 10.0.0.89,点击右侧有个加号的文件图标:
Android 系统开发工具,android framework学习笔记,Framework,android
弹出新的 VSCode 窗口,我们点击 File -> Open Folder,然后选择我们的源码路径即可:
Android 系统开发工具,android framework学习笔记,Framework,android
打开的过程中,需要我们输入 Ubuntu 的登录密码。我们也可以通过配置,实现免密登录的效果:

打开 win 上的 PowerShell:

# 生成公钥
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub

将公钥文件的内容拷贝到 ubuntu 的 ~/.ssh/authorized_keys 中
ubuntu 重启 ssh 服务

sudo systemctl restart ssh

6、adb

最后,我们在介绍 adb 的两个常用功能

  • adb push:将电脑上的文件上传到 Android 机器上
touch testfile
# 一些临时文件
adb push ./testfile /data/local/tmp
  • adb shell:用于进入 Android 的 shell 终端
    Android 系统开发工具,android framework学习笔记,Framework,android

工具有很多,怎么用还需根据自己的项目情况而定。

另外附上豪哥赠言:

  • 简单修改源码就用 vscode + vim
  • 复杂修改使用 Androidstudio + clion

framework的学习之路很长,加油!文章来源地址https://www.toymoban.com/news/detail-588179.html

到了这里,关于Android 系统开发工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android】在AndroidStudio开发工具运行Java程序

    在Android Studio开发工具中,Android系统开始就是用java语言开发的,还可以java代码来写程序,控制台,桌面应用,还可以写可调用的模块,这里讲一下创建Java程序步骤,方便入门java语言开发。 新建一个Android项目时,要选择第一个,就是空的(不带模板)的项目,这里打开会有

    2024年02月11日
    浏览(44)
  • 【常用开发工具】保姆级教程Android Studio安装和基本使用

    🔎这里是【常用开发工具】,关注我学习编程不迷路 如果对你有帮助,给博主一个免费的点赞👍以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【常用开发工具】 目前更新IDEA、Tomcat、Maven、Git等预计会开10+期,大家一起学习一起进步。 📢📢有写的不好或写错的地

    2023年04月16日
    浏览(38)
  • 充实你的Android开发工具箱:无效数据处理的方案

    😄😄个人介绍 光子郎.进行开发工作七年以上,目前涉及全栈领域并进行开发。会经常跟小伙伴分享前沿技术知识,java后台、web前端、移动端(Android,uniapp, 小程序 )相关的知识以及经验体会,不定期会有源码及框架的分享,如果你有相关的知识想要及时了解或者讨论,

    2024年02月06日
    浏览(36)
  • 【鸿蒙系统学习笔记】开发工具安装

    鸿蒙应用开发需要使用配套的IDE—— HUAWEI DevEco Studio 。 DevEco Studio 基于IntelliJ IDEA Community(IDEA社区版)构建,为鸿蒙应用提供了一站式开发环境,集成了开发、运行、调试以及发布应用的各项功能。 安装步骤: ①获取 DevEco Studio 安装包,官方下载地址为: HUAWEI DevEco Studio和

    2024年02月20日
    浏览(54)
  • 推荐一个基于.Net Framework开发的Windows右键菜单管理工具

    平常在我们电脑,我们都会安装非常多的软件,很多软件默认都会向系统注册右键菜单功能,这样方便我们快捷打开。比如图片文件,通过右键的方式,快捷选择PS软件打开。 如果我们电脑安装非常多的软件,就会导致我们右键菜单的列表非常多,但是很多软件我们是用不到

    2024年02月02日
    浏览(58)
  • android多屏触摸相关的详解方案-安卓framework开发手机车载车机系统开发课程

    直播免费视频课程地址:https://www.bilibili.com/video/BV1hN4y1R7t2/ 在做双屏相关需求开发过程中,经常会有对两个屏幕都要求可以正确触摸的场景。但是目前我们模拟器默认创建的双屏其实是没有办法进行触摸的 静态修改方案 使用命令查看display2即副屏的信息情况 adb shell dumpsys d

    2024年02月11日
    浏览(33)
  • hal深入剖析之aidl实战-android framework车机车载手机系统开发

    这个是hal工程根目录 接下来要创建aidl的文件存放目录 注意mkdir -p android/hardware/mytest其实就是包名目录,即模块包名就是android.hardware.mytest. 提示:这个如果为了项目的更加好的维护性建议到自己项目目标的vendor下面进行,目前只是为了演示方便,直接在system的hardware下面 创建

    2024年02月19日
    浏览(34)
  • Android Framework最难模块WMS实战作业-手机车机系统开发必备

    0-整体介绍 1-window-container.mp4 窗口层级树实战启动篇 2-displayarea-feature.mp4 窗口层级树源码分析相关 3-displayarea-draw-feature.mp4 窗口层级树绘制实战1 4-displayarea-draw-leaf.mp4 窗口层级树绘制实战2 5-displayarea-draw-leaf-2.mp4 窗口层级树绘制实战3 6-displayarea-surfacelayer.mp4 窗口层级树相关sur

    2024年02月12日
    浏览(34)
  • 【Linux系统化学习】基础开发工具——make和makefile

    ========================================================================= 个人主页点击直达: 小白不是程序媛  Linux学习专栏: Linux系统化学习 ========================================================================= 目录 前言: 初始make和makefile makefile的好处 make和makefile的区别 make和make的使用 依赖关系和依

    2024年02月05日
    浏览(52)
  • aosp11/12/13 framework源码开发IDE工具之idegen/aidegen/AIDEGen详细使用

    近期又粉丝朋友聊到了如果做aosp系统应用开发,有什么工具或者方式来导入代码可以正常跳转和代码提示等? 更多内容: https://blog.csdn.net/learnframework/article/details/130016893 针对这个问题其实我课程里面的[入门课就有有讲解android studio导入整套系统源码]的详细说明,这里就再次

    2023年04月14日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包