Ubuntu下android開發環境配置與奇葩錯誤解決

Sanchi發表於2016-06-23

ubuntu下配置Java開發環境(命令列)

http://www.cnblogs.com/a2211009/p/4265225.html
http://www.phpini.com/linux/ubuntu-install-java-8

參考如上文章,按順序執行如下命令:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
java -version
sudo apt-get install oracle-java8-set-default

命令執行完畢之後輸入javacjava -version測試是否安裝成功。
如上命令安裝的JDK路徑為:/usr/lib/jvm/java-8-oracle

ubuntu下安裝android開發環境

https://github.com/jikexueyuanwiki/android-studio-basics/blob/master/Android%20Studio%20%E7%9A%84%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85.md
按照如上教程中的方式下載完成android studio與SDK之後,進行配置,先在使用者資料夾下新建資料夾android,並將studio與SDK解壓出來的資料夾放到其中。在studio的bin資料夾下執行命令./studio.sh開啟studio,然後右鍵其圖示,將studio放到dash以及固定到啟動欄。其他studio的設定跟windows相同。

錯誤解決

問題一

ubuntu下執行android程式的時候總是報錯,錯誤資訊如下:

Error:Execution failed for task `:compileDebugAidl`.
> java.lang.RuntimeException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process `command `/home/zrp/software/android/android-sdk-linux/build-tools/23.0.1/aidl`` finished with non-zero exit value 127

gradle console中的錯誤資訊:
build-tools/23.0.1/aidl: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

google找到一篇文章:http://askubuntu.com/questions/409905/apt-get-error-loading-libgcc-s-so-1
解決方式:sudo apt-get install gcc-multilib,即可編譯通過。

但是按照如上步驟解決編譯問題之後,執行安裝包的時候出現了另一個問題:

Exception in thread "png-cruncher_18" java.lang.RuntimeException: Timed out while waiting for slave aapt process, make sure the aapt execute at /home/zrp/software/android/android-sdk-linux/build-tools/23.0.1/aapt can run successfully (some anti-virus may block it) or try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:108)
at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:110)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:203)
at java.lang.Thread.run(Thread.java:745)

問題描述及解決連結:https://code.google.com/p/android/issues/detail?id=188627

問題二

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task `:compileDebugJavaWithJavac`.
> Unexpected lock protocol found in lock file. Expected 3, found 0.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

解決方式:http://stackoverflow.com/questions/31743942/errorunexpected-lock-protocol-found-in-lock-file-expected-3-found-0
刪除專案資料夾下的.gradle資料夾並重新編譯即可。

問題三

ubuntu下連線手機的時候報錯:insufficient permissions for device,就是手機連線到電腦之後adb一直顯示null,無法進行軟體安裝等。
找到如下解決方式:http://itsfoss.com/fix-error-insufficient-permissions-device/
解決辦法如下:

adb kill-server
sudo adb start-server

敲完如上命令之後,手機上會彈出確認adb除錯的彈框,確認連線即可。

問題四

ubuntu下安裝android studio之後,studio無法關聯原始碼,經過多方搜尋,最終找到了奇葩的問題原因:SDK的資料夾名稱中包含-字元或者路徑名過長!修改資料夾名稱之後關聯到了原始碼。

相關文章