下面引荐的是我常用的东西,假如你有好用的开发东西欢迎在评论区留言评论沟通。
1. ssh 服务与 Tabby Terminal
ssh 服务使得咱们在其他渠道上经过 ssh 客户端程序即可拜访到咱们的 linux 服务器。便利咱们的开发作业。
接下来咱们分为两步来介绍 ssh 服务的建立以及客户端的运用:
1.1 装备 Ubuntu ssh 服务
- 装置 openssh-server
sudo apt install openssh-server
# 开机自启动
sudo systemctl enable ssh
# 重启 ssh 服务
sudo systemctl restart ssh
- 装备固定 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 服务。
装备的过程如下:
-
点击装备
-
点击装备与衔接
-
点击新装备
-
下滑菜单,挑选
SSH 衔接
-
输入 ssh 服务信息
- 称号,随意
- 主机填写 linux 的固定 IP 地址,端口 22
- 用户名填写实际用户名
- 点击设置暗码,增加用户名对应的暗码
- 点击保存
-
鼠标移动至 UbuntuForAndroid 选项,点击三角形
-
进入长途 ssh 终端界面
至此,咱们就能够长途管理咱们的 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 修正器的三种形式间切换如下图所示:
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 地址。
点击确认,即可拜访到 Ubuntu 中同享的文件了:
双击 Project,进入到下面的文件夹中:
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):
点击 Configure,呈现以下界面:
点击 ok 即可。
接着装备 jdk 和 sdk,点击 file -> Project Structure:
接着点击 + 号:
点击 Add JDK
:
挑选源码下的 prebuilts/jdk/jdk9/linux-x86
,然后点击 ok:
接着将 name 修正为 aosp10-jdk9,然后点击右下角 apply:
接着点击 + 号,增加 Android SDK:
挑选体系源码目录下的 out/host/linux-x86/sdk/sdk/android-sdk_eng.zzh0838_linux-x86
(最终一个文件夹的姓名和你的用户名相关,你的和我的或许不一样),然后点击 ok:
接着 Java SDK 挑选刚刚增加的 aosp10-jdk9,点击 ok:
接着,修正 skd 的姓名为 aosp10-android-sdk29:
点击 ok 即可。
5.2.2 装备项目的 sdk
接着咱们需求装备项目的 sdk,点击 file -> Project Structure,点击左边 Project,右侧 SDK 选项挑选 aosp10-android-sdk:
点击左边 Modules,中心挑选 Settings,右侧 Module SDK 挑选 Project SDK:
接着,中心挑选 dependencies-Settings,右侧 Module SDK 挑选 Project SDK:
最终点击 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 模拟器中翻开 Settings 运用。
接着点击 android studio 的 debug 按钮:
在弹出的窗口中,依次挑选 Settings 和 com.android.settings,然后点击 ok:
在模拟器中,点击回来键,再次进入 Settings 运用,即可进入调试界面:
接着咱们就能够顺畅的进行调试了。
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 挑选咱们的体系源码,即可翻开整个体系源码。
当然,咱们依据需求只翻开咱们关怀的模块。
另外为了使咱们的 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 图标,点击右侧加号:
在弹出的输入框中,输入 用户名@IP地址
,点击回车。
接着,挑选第一个装备文件,点击回车。
接着,左边的清单中就会呈现咱们装备的 10.0.0.89,点击右侧有个加号的文件图标:
弹出新的 VSCode 窗口,咱们点击 File -> Open Folder,然后挑选咱们的源码途径即可:
翻开的过程中,需求咱们输入 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 感兴趣,能够继续关注:
- 渠道个人技能博客
- 我的个人公众号
- 我的个人微信(能够加我微信进 Android Framework 沟通群)