Android Studio安装
参考官网上的安装说明
# 安装依赖
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++:i386 lib32z1 libbz2-1.0:i386
安装openjdk (Update 2018-08-21: 这次重装Ubuntu18.04.1后, 仅仅设置了java, javac的软链, 没有安装openjdk, 也可以正常启动android studio)
sudo apt-get install openjdk--jdk
解压缩后运行 bin/studio.sh 会自动安装, 但是不会自动创建应用图标, 需要自己创建
安装过程中SDK Manager需要下载指定版本的Android Platform, 以及SDK Tools, 现在下载速度非常快了. 之后才能创建项目
创建图标
在路径 /usr/share/applications下创建.desktop文件, 内容如下
/usr/share/applications$ sudo vi android-studio.desktop [Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Icon=/opt/google/android-studio/bin/studio.png
Exec="/opt/google/android-studio/bin/studio.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-studio
对于最后一个参数StartupWMClass的值, 如果未正确设置的话, 在导航栏里的图标会不能和运行中的实例正常关联, 运行时会同时显示两个图标. 关于如何获取这个参数值, 参考这个说明 https://askubuntu.com/questions/367396/what-represent-the-startupwmclass-field-of-a-desktop-file 可以通过xprop WM_CLASS命令查看
Modern Linux desktop environments (Gnome 3, Ubuntu Unity, Docky) use the WMClass property to associate windows with the owning application. Many Java-based applications have the problem where the windows created by the application are not associated with the shortcut used to start the application (so the dock contains multiple copies of the same icon).
So the field called StartupWMClass is a string that defines in which class the application is grouped in the Unity Launcher at startup. You can find out which WM_CLASS your window has got when you type in a terminal, and then click at the window. The output is as follows:
$ xprop WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "jetbrains-studio"
创建并编译空白项目
项目初次Sync时容易失败, 一些依赖包总是下载错误, 这时候需要检查一下 home目录下的 .gradle/gradle.properties文件, 是否这里设置了错误的代理. 这个在studio的settings里面是看不到的.
在物理设备上run空白项目
报udev相关的permission错误时, 会建议你安装 sudo apt install android-tools-adb 但是这个貌似不起作用, 命令行执行 adb devices依然报permissions不足, 后来通过在/etc/udev/rules.d/ 下增加如下内容的文件 51-android.rules, 才解决问题. 重新插拔手机后, adb devices能看到设备了
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE:="0666"
创建虚拟设备运行项目
在AVD管理器中创建虚拟设备时, 出现提示 /dev/kvm device: permission denied . 这是因为当前用户不在kvm组里的原因, 在Ubuntu18.04下解决方式如下:
# 首先, 安装 qemu-kvm
sudo apt install qemu-kvm
# 查看 /dev/kvm的权限和用户组, 如果安装过了qemu-kvm, 这个设备的组应该就会变成kvm
ls -al /dev/kvm
# 检查当前用户的组, 查看系统里存在的组
id
more /etc/group
# 如果kvm组已经存在, 将当前用户加入kvm组
sudo gpasswd -a milton kvm
# 查看是否已经加入, 用户会被附加在组名后面
more /etc/group
打开华为安卓手机的日志输出
华为的安卓手机默认不输出INFO级别以下的日志, 需要手动打开, 方法是拨号面板上输入 *#*#2846579#*#* 进入工程模式后, 在LOG设置中, 勾选所有的输出.
若是小米4.0系统(MIUI),进入“设置-->全部设置-->原厂设置-->工程模式”