下面引荐的是我常用的东西,假如你有好用的开发东西欢迎在评论区留言评论沟通。

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: [10.0.0.89/24]  # 静态ip,依据自己网络状况装备
      gateway4: 10.0.0.1     # 网关,依据自己网络状况装备
      nameservers:
        addresses: [10.0.0.1, 114.114.114.114] #dns,依据自己网络状况装备

使装备生效:

sudo netplan apply

至此,固定 IP 就装备好了。

1.2 ssh 客户端 Tabby Terminal

Tabby 是一款高颜值,开源,免费,多渠道的命令行东西,ssh 客户端是它的功用之一。

咱们在 Tabby官网 下载装置好后,装备好 ssh 衔接装备信息即可运用 ssh 服务。

装备的过程如下:

  1. 点击装备

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  2. 点击装备与衔接

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  3. 点击新装备

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  4. 下滑菜单,挑选 SSH 衔接

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  5. 输入 ssh 服务信息

    • 称号,随意
    • 主机填写 linux 的固定 IP 地址,端口 22
    • 用户名填写实际用户名
    • 点击设置暗码,增加用户名对应的暗码
    • 点击保存

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  1. 鼠标移动至 UbuntuForAndroid 选项,点击三角形

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  2. 进入长途 ssh 终端界面

    写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

至此,咱们就能够长途管理咱们的 linux 了。

2. vim

vim 主要用于文件的简单修正,需求把握:

  • 文件的简单修正
  • 文件内容查找

2.1 vim 基本运用

2.1.1 一般形式

经过 vim + 文件名,进入 vim 环境(test.txt 能够是当时目录已存在的文件,也能够是当时目录不存在的文件。):

vim test.txt

此刻,咱们在 vim 的一般形式下,假如 test.txt 文件有内容,咱们能够经过:

  • j 下移光标
  • k 上移光标
  • h 左移光标
  • l 右移光标

假如用的不习惯,上下左右方向键也能够移动光标。

2.1.2 修正形式

在一般形式下,输入 a i o 能够进入修正形式,修正形式下,咱们能够输入文本修正文件内容。

a i o 的区别如下:

  • a:在当时光标下一位刺进
  • i:当时光标处刺进
  • o:换行并创立全新空白行,并内行首刺进

在修正形式下,咱们点击 esc 键即可回到一般形式。

2.1.3 命令行形式

在一般形式下,输入分号,就会进入命令行形式。在命令行中,能够输入不同的指令或者字符串以实现不同的功用。其间涉及的最常用的功用包含了两类:

  • 退出 vim
  • 当时文本中,查找字符串

进入命令行形式后,有三种方式来退出 vim:

  • 当时文件没有做任何改动时,输入 q 指令,退出 vim 环境
  • 当时文件做了一些修正,假如想抛弃已修正的内容,输入 q! 指令,退出 vim 环境
  • 当时文件做了一些修正,假如想保存已修正的内容,输入 wq 指令,退出 vim 环境

进入命令行形式后,咱们还能够输入 / + 字符串,点击回车键,进入查找形式,点击 N 键,光标就会在匹配处依次跳动。

在一般形式下,咱们也能够直接输入 / + 字符串进行查找。

2.1.4 vim 基本运用小结

vim 修正器的三种形式间切换如下图所示:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

3. find + grep 命令

Android 体系源码繁杂,一般咱们经过 find 命令来查找咱们关怀的文件。运用 find + grep 命令查找咱们关怀的文件内容。

  • 找文件,比如 service_manager.c
find . -name "service_manager.c"
./frameworks/native/cmds/servicemanager/service_manager.c
  • 找文件内容,找 recyclerview 库
find . -name "Android.bp" | xargs grep "name: \".*recyclerview.*\""
./prebuilts/sdk/current/androidx/Android.bp:    name: "androidx.recyclerview_recyclerview-selection-nodeps",
./prebuilts/sdk/current/androidx/Android.bp:    name: "androidx.recyclerview_recyclerview-selection",
./prebuilts/sdk/current/androidx/Android.bp:    name: "androidx.recyclerview_recyclerview-nodeps",
./prebuilts/sdk/current/androidx/Android.bp:    name: "androidx.recyclerview_recyclerview",
./prebuilts/sdk/current/support/Android.bp:    name: "android-support-recyclerview-selection-nodeps",
./prebuilts/sdk/current/support/Android.bp:    name: "android-support-recyclerview-selection",
./prebuilts/sdk/current/support/Android.bp:    name: "android-support-v7-recyclerview-nodeps",
./prebuilts/sdk/current/support/Android.bp:    name: "android-support-v7-recyclerview",

4. Samba 服务器建立

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

Ubuntu 装置 samba 服务端:

sudo apt install samba

装备 samba,修正 /etc/samba/smb.conf,增加如下内容:

[Project]
        comment = project
        path = /home/zzh0838/Project #你自己需求同享的目录
        browseable = yes
        writable = yes

后续操作:

sudo smbpasswd -a username #这儿是当时用户名
sudo systemctl enable smbd #samba 开机自启动
sudo systemctl restart smbd #重启 samba 

windows 拜访 Ubuntu 同享的文件键:

win 键加 R 键,跳出运行窗口,输入 \\10.0.0.89,其间 10.0.0.89 是我的 ubuntu 的 IP 地址,你需求依据你自己的状况修正为自己的 Ubuntu 的 IP 地址。

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击确认,即可拜访到 Ubuntu 中同享的文件了:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

双击 Project,进入到下面的文件夹中:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

5. AIDEGen + Android Studio

5.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,并将其放到 /opt 目录下。

接下来,挑选咱们的方针 Product:

source build/envsetup.sh
lunch aosp_x86_64-eng

做好以上准备作业后,咱们就能够翻开体系模块了,这儿咱们以 Settings 为例:

# Settings 更换为其他模块名或是模块存在的途径即可翻开其他模块
aidegen Settings -i s  # -i 表明运用ide,s 表明 Android Studio

5.2 Android Studio 装备

稍作等候,Android Studio 就翻开了,不过现在还不能直接运用,咱们还需求做一些基本的装备:

5.2.1 增加源码中的 jdk 和 sdk

Android Studio 翻开后,右下角会呈现一个提示框(假如没有呈现,点击 file -> Invalidate Caches -> Invalidate and Restart):

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击 Configure,呈现以下界面:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击 ok 即可。

接着装备 jdk 和 sdk,点击 file -> Project Structure:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着点击 + 号:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击 Add JDK

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

挑选源码下的 prebuilts/jdk/jdk9/linux-x86,然后点击 ok:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着将 name 修正为 aosp10-jdk9,然后点击右下角 apply:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着点击 + 号,增加 Android SDK:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

挑选体系源码目录下的 out/host/linux-x86/sdk/sdk/android-sdk_eng.zzh0838_linux-x86 (最终一个文件夹的姓名和你的用户名相关,你的和我的或许不一样),然后点击 ok:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着 Java SDK 挑选刚刚增加的 aosp10-jdk9,点击 ok:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着,修正 skd 的姓名为 aosp10-android-sdk29:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击 ok 即可。

5.2.2 装备项目的 sdk

接着咱们需求装备项目的 sdk,点击 file -> Project Structure,点击左边 Project,右侧 SDK 选项挑选 aosp10-android-sdk:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

点击左边 Modules,中心挑选 Settings,右侧 Module SDK 挑选 Project SDK:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着,中心挑选 dependencies-Settings,右侧 Module SDK 挑选 Project SDK:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

最终点击 apply,项目开始重新索引,项目内绝大部分类方法变量均可正确跳转。

至此,装备完结。

5.3.3 在 Android Stuido 中调试体系App Settings

首先,咱们开一个新的终端,翻开模拟器:

source build/envsetup.sh
lunch aosp_x86_64-eng
emulator

接着咱们在 Settings/AndroidManifest.xml 查找到 Settings App 的首 Activity 为 SettingsHomepageActivity,咱们在其 onCreate 出打一个断点:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着在 Android 模拟器中翻开 Settings 运用。

接着点击 android studio 的 debug 按钮:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

在弹出的窗口中,依次挑选 Settings 和 com.android.settings,然后点击 ok:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

在模拟器中,点击回来键,再次进入 Settings 运用,即可进入调试界面:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着咱们就能够顺畅的进行调试了。

6. VSCode

VSCode 是一款微软推出的文本修正器,同个它的插件体系能够实现类 ide 的体验,在功用性和适应性视点,非常适合用于 Android 体系开发。

咱们能够经过两种方式来运用 VSCode

  • Ubuntu 本机运用
  • Windows 经过 remote-ssh 插件长途运用 VSCode 修正linux 上的代码

6.1 Ubuntu 本机运用

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

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

这样咱们就能够运用 vscode 了,咱们翻开 vscode,然后经过 file -> open folder 挑选咱们的体系源码,即可翻开整个体系源码。

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

当然,咱们依据需求只翻开咱们关怀的模块。

另外为了使咱们的 vscode 更好用更好看,一般咱们会装置一下一些插件:

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

6.2 长途运用

在 Windows 下,咱们也能够经过 VSCode 的 remote-ssh 插件长途修正咱们的体系源码。

首先咱们需求在官网下载好 VSCode 的装置包,然后翻开装置包狂点下一步即可装置好 VSCode。

接着在插件市场中装置好 Remote-SSH 插件。

接着就能够装备 SSH 长途衔接了:

点击左边 remote-explorer 图标,点击右侧加号:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

在弹出的输入框中,输入 用户名@IP地址,点击回车。

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着,挑选第一个装备文件,点击回车。

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

接着,左边的清单中就会呈现咱们装备的 10.0.0.89,点击右侧有个加号的文件图标:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

弹出新的 VSCode 窗口,咱们点击 File -> Open Folder,然后挑选咱们的源码途径即可:

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

翻开的过程中,需求咱们输入 Ubuntu 的登录暗码。咱们也能够经过装备,实现免密登录的作用:

翻开 win 上的 PowerShell:

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

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

ubuntu 重启 ssh 服务

sudo systemctl restart ssh

7. adb

最终,咱们在介绍 adb 的两个常用功用

  • adb push:将开发机上的文件上传到 Android 机器上
touch testfile
# 一些临时文件
adb push ./testfile /data/local/tmp
  • adb shell:用于进入 Android 的 shell 终端

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

关于

假如你对 Android Framework 感兴趣,能够继续关注:

  • 渠道个人技能博客
  • 我的个人公众号

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐

  • 我的个人微信(能够加我微信进 Android Framework 沟通群)

写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐