意欲如何?

  • 这篇博文取名为“Daily Tips”,意为日常技巧小技巧,意在记录开发中或者与电脑打交道过程中遇到的一些小问题及解决途径,这些小问题是值得记录但又无须长篇大论、深究的。
  • 记录方式将以三级标题是问题,其下内容为答案的模式,简单明了。
  • 本篇博文将不定时更新,每次更新会将博文时间提到修改之时。
  • 如若各位有任何问题和看法,请及时评论或者[at]我微博讨论交流。
  • 您的问题和答案采取后也可以出现在本篇微博中,会注明您的姓名和链接,为您带来流量。

正文开始


[No.001] ubuntu(linux)下查看Gtk版本(version)信息?

  • 打开终端输入以下命令即可:

    1
    dpkg -l libgtk2.0-0 libgtk-3-0
  • 得到如下反馈:

    1
    2
    3
    4
    ||/ Name Version Architecture Description
    +++-==============-============-============-=================================
    ii libgtk-3-0:amd 3.10.8-0ubun amd64 GTK+ graphical user interface lib
    ii libgtk2.0-0:am 2.24.23-0ubu amd64 GTK+ graphical user interface lib
  • 其中3.10.82.24.23分别为gtk3gtk2的版本信息。


[No.002] 重装ubuntu后终端terminal的Tab键无法自动补全!

  • 打开终端,输入命令:

    1
    sudo gedit /etc/bash.bashrc
  • (ubuntu13.04以上版本)在打开的文件中搜索以下代码,并修改为以下样子(就是将之前每行开头的#删除),保存退出问题解决:

    1
    2
    3
    4
    5
    6
    7
    if ! shopt -oq posix; then
    if [-f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
    elif [ -f /etc/bash_completion]; then
    . /etc/bash_completion
    fi
    fi
  • (ubuntu12.04及老版本)将以下代码前的#去掉:

    1
    2
    3
    if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
    fi

[No.003] 老版本Ubuntu(12.04)中安装新nodejs!

还有问题再看 作者链接

1
2
3
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install nodejs

[No.004] Android Studio启动后提示External file changes sync may be slow The current inotify(7) watch limit is too low.

1
sudo gedit /etc/sysctl.conf

在文件中加入:

1
2
## Inotify Watches Limit
fs.inotify.max_user_watches = 524288

参考官方网页:点击打开


[No.005] Ubuntu16.04下打开Eclipse后各种按钮太大

  • 这个问题是由与Ubuntu16.04中,eclipse默认使用了gtk3的原因,解决问题如下:

    在eclipse根目录的eclipse.ini配置文件中,添加如下配置:

1
2
--launcher.GTK_version
2

[No.006] Ubuntu16.04下编译Android源码的jdk问题

  • 在最新版本的Ubuntu下编译Android源码,由于Ubuntu16.04默认舍弃了openjdk-7-jdk,所以在编译的时候会提示如下错误:
1
2
3
4
5
6
Checking build tools versions...
************************************************************
You asked for an OpenJDK 7 build but your version is
java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode).
************************************************************
build/core/main.mk:191: *** stop. Stop.
  • 解决的办法就是,利用ppa在Ubuntu16.04下安装openjdk-7-jdk:
  1. 删除系统中所有与java有关的包:

    1
    sudo apt-get remove openjdk-* icedtea-* icedtea6-*
  2. 给Xenial添加OpenJDK7的PPA,并更新包索引:

    1
    sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update
  3. 安装所有当前可用的更新,以确保需要的包准备就绪:

    1
    sudo apt-get upgrade && sudo apt-get dist-upgrade
  4. 安装openjdk7,以及所有Android构建所依赖的包:

    1
    sudo apt-get install adb fastboot openjdk-7-jdk git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven python-mako python3-mako python python3 syslinux-utils google-android-build-tools-installer
  5. 更新一下java的环境变量,选择里面有openjdk-7的那一项:

    1
    sudo update-alternatives --config java
  6. 这样再次编译源码,就不会出现jdk的version错误了。

  7. 关于如何编译Android源码(AOSP),请参考博文:

    《编译Android5.1.1源码》

  8. 关于国内下载AOSP源码速度太慢,请参考博文:

    《国内镜像加速Android源码下载》


    [No.007] 解决Ubuntu16.04 字体太细发虚(表现在Chrome中浏览中文)

    这个问题产生是由于Ubuntu 16.04 LTS 的默认中日韩字体packagefonts-noto-cjk有一个bug,如果网页没有把其页面语言指定为中日韩字体,那么会用细的字体来显示。解决方法如下:

  1. 删除系统自带的fonts-noto-cjk包:

    1
    sudo apt-get remove fonts-noto-cjk
  2. 使用Ubuntu 开发团队的 Gunnar Hjalmarsson 制作的fonts-noto-cjk个人PPA,它修复了这个bug:

    1
    sudo add-apt-repository ppa:gunnarhj/fonts-noto-cjk
  3. 刷新一下包索引:

    1
    sudo apt-get update
  4. 安装修复了bug的fonts-noto-cjk包:

    1
    sudo apt-get install fonts-noto-cjk

[No.008] Android emulator 启动失败,提示错误:libGL error: unable to load driver: i965_dri.so

  1. 具体的错误详细信息是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 55
Current serial number in output stream: 54
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 155 (GLX)
Minor opcode of failed r

2.解决方法如下:(Linux)

1
2
3
cd ~/Android/Sdk/tools/lib64/libstdc++/
mv libstdc++.so.6 libstdc++.so.6.bak
ln -s /usr/lib64/libstdc++.so.6

未完待续~~

  • 该博文会持续更新,记录遇到的问题与解决问题的方法,希望能够帮到大家。

关于我

  • 微信公众号:Android奇想录(android_amazing)

扫描二维码关注公众号