建议空闲内存16G以上,同时硬盘400G以上
内存不够可以使用 Linux 的交换分区
https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.1.1-17801498.exe
http://mirrors.aliyun.com/ubuntu-releases/16.04/ubuntu-16.04.7-desktop-amd64.iso
或者叫内存置换空间(swap space),是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。交换分区的作用是,当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,也就是常说的 swap out 和 swap in。
可以提供free -m
命令查看虚拟内存与交换空间大小或者 swapon -s
1.停用交换文件
sudo swapoff /swapfile
2.删除文件
sudo rm /swapfile
3.新建swap空间,以20G为例
sudo fallocate -l 20G /swapfile
设置文件权限
sudo chmod 600 /swapfile
挂载
sudo mkswap /swapfile
激活启用
sudo swapon /swapfile
4.接着把交换信息写入系统配置,不然Ubuntu重启后以上配置swap空间工作得重新做。
打开配置文件
sudo vim /etc/fstab
在最后一行插入
/swapfile swap swap defaults 0 0
1.系统只有当虚拟内存不足才会启动Swap,比如系统默认内存只有6000KB时才会启用交换空间,但是此时系统可能已经卡死,无法启动swap,所以需要更改设置。
2.终端输入命令:
sudo vim /etc/sysctl.conf
3.在最后面添加如下语句(按i进入编辑模式,光标移到最后,插入语句)
vm.min_free_kbytes=1500000
#大致1.5G
保存退出(按ESC退出编辑模式,输入:wq保存退出)然后重启开机。
以上配置的意思是,当系统内存不足1.5G时就启用交换空间,这是因为我分配给Ubuntu的内存为8G。而如果你虚拟机分配的内存是4G,那建议不要设置1.5G就启用交换空间,可以调小一些,比如调整为1G:
vm.min_free_kbytes=1000000
sudo apt install git
sudo apt install git-core libssl-dev libffi-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libz-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
cd Downloads
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar xvf Python-3.7.1.tgz
./configure 或指定路径 ./configure --prefix=/usr/local/python3.7
sudo make install
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3
sudo update-alternatives --config python
https://source.android.google.cn/setup/build/downloading
https://mirrors.ustc.edu.cn/help/aosp.html
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
下载:repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-12.1.0_r27
安卓版本列表: https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds
执行:chmod 755 /home/jett/bin/repo
如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的: REPO_URL = ‘https://gerrit-googlesource.proxy.ustclug.org/git-repo’
如果提示无法进行SSL证书校验,执行:
git config --global http.sslverify false
git config --global https.sslverify false
如果出现git身份不存在:
git config --global user.email “[email protected]”
git config --global user.name jett
error: Unable to fully sync the tree.
error: Downloading network changes failed.
Try re-running with “-j1 --fail-fast” to exit at the first error.
处理方法:
repo sync -j1 --fail-fast
repo sync has finished successfully.
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
. build/envsetup.sh
lunch aosp_x86_64-eng(问题:模拟器镜像无法生成)
lunch sdk_x86_64 手机
lunch sdk_car_x86_64-userdebug 车载课程中选择的lunch sdk_x86_64 用于使用模拟器
设置好交换空间一般就没问题了
windows下安装vmware里边嵌套kvm提示kvm不可用解决办法:
步骤:虚拟机-设置-处理器-勾选虚拟化Intel-确认
lunch sdk_x86_64
Lunch menu路径build/make/target/product/AndroidProducts.mk
out/target/product/emulator_x86_64
adb shell
logcat -c
logcat
logcat -s TAG
查找文件
find -name 文件名
查找文件内容:方法调用
grep "文件内容" ./ -rn
打印调用栈
Log.i("jett","oncreate",new Exception());
sudo apt install openjdk-9-jre-headless
https://developer.android.google.cn/studio
android-studio-2022.1.1.21-linux.tar.gz
执行
make idegen -j4
sudo development/tools/idegen/idegen.sh
生成文件android.iml & android.ipr
AS的bin目录下,修改studio64.vmoptions增加内存
cd bin
./studio.sh
可导入android.iml中标记的全部源码