2015-11-04 119 views
6

我已經淘汰堆棧溢出,並沒有找到解決我的問題。這有點冗長,但在過去的一週裏我還沒有找到解決方案,不停地搜索。tools.jar找不到OS X

問題:當試圖編譯Android源代碼,並試圖安裝時的tools.jar沒有發現過Android Studio

操作系統:Mac OS X埃爾卡皮坦10.11 電腦:MacBook Pro的視網膜,2015年底。 (幾周前的新電腦)

以下是兩個似乎有同樣問題的情況。

場景1:我試圖編譯Android源代碼來創建自定義ROM。我已經按照http://source.android.com的步驟操作OS X,特別是關於MAC的章節中的http://source.android.com/source/initializing.html

我已經運行所有步驟,導致構建系統。下一步是

source build/envsetup.sh 
lunch aosp_eng 

此錯誤彈出@午餐aosp_eng:

*** Error: could not find jdk tools.jar at /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/../lib/tools.jar, please check if your JDK was installed correctly. Stop. 

** Don't have a product spec for: 'aosp_arm' 
** Do you have the right repo manifest? 

方案2:下載Android Studio中進行應用,但是這個錯誤彈出,

'tools.jar' seems to be not in Studio classpath. 
Please ensure JAVA_HOME points to JDK rather than JRE. 

這是我的.bash_profile:

export PATH=/usr/local/opt/mongodb/bin/:$PATH 

# mount the android file image 
function mountAndroid { 
    hdiutil attach ~/android.dmg.sparseimage -mountpoint  /Volumes/android; 
} 

#unmount the android file image 
function umountAndroid(){ 
    hdiutil detach /Volumes/android; 
} 

export USE_CCACHE=1 
#export JAVA_HOME="$(/usr/libexec/java_home)" 
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)" 
#export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/" 
#export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/" 
#export JAVA_HOME=$(/usr/libexec/java_home) 

第一行是Mongodb,「坐騎」是從source.android.com一步一步的過程。從Android教程和使用MacPorts的組合使用ccache可以使用ccache。所有已被註釋掉的JAVA_HOME是我試圖在網上找到一個解決方案。

目前,我有一些區別的Java版本安裝

jdk1.7.0_71.jdk 
jdk1.7.0_79.jdk 
jdk1.8.0_65.jdk 
jdk1.9.0jdk 

JDK 1.9的beta版,但我需要它來安裝NetBeans開發JDK 1.9版本,因爲有電流通過已知的bug與MacBook Pro的視網膜與Netbeans 1.8。滾動是滯後的,唯一的當前修補程序是Beta版JDK。

根據其$ JAVA_HOME我用,這個輸出:

me-mbp:~ Me$ echo $JAVA_HOME 
/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/ 

me-mbp:~ Me$ javac -version 
java 1.8.0_65 

me-mbp:~ Me$ which java 
/usr/bin/java 

如果我註釋掉所有的$ JAVA_HOME,則默認爲jdk1.9。不知道爲什麼,但確實如此。

當我將tools.jar複製到Android Studio應用程序文件夾時(見下文),任何解決方案都會出現。它讓我「安裝」Android Studio並運行,但只要我試圖製作一個新的應用程序,它就坐在那裏,什麼也沒做。此外,工作室有一個錯誤說:使用jdk1.9,需要改變設置(釋義)。

cp /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/lib/tools.jar /Volumes/Macintosh\ HD/Applications/Android\ Studio.app/Contents/lib/ 

該問題的解決方案將是天賜之物。我的大部分工作都取決於這一點,我希望能夠從我的新筆記本電腦。目前,我不得不遠程訪問Ubuntu機器來完成我的所有Android Source工作。 Android Studio問題只是問題的延伸(我認爲)。提前致謝。

+1

爲1 /也許HTTP://計算器。 com/questions/18277504/make-can-find-tools-jar – 2015-11-04 16:42:32

+0

For 1 - this worked非常感謝,非常感謝! – Singledigit

回答

0

使用UR的.bashrc 的/ usr/libexec目錄/ JAVA_HOME -v 1.7.0_71 -a x86_64的

確切路徑下的.bashrc中出口 JAVA_HOME = $(在/ usr/libexec目錄/ JAVA_HOME -v 1.7 .0_71 -a x86_64的)

2

的Android需要命名ANDROID_JAVA_HOME分隔ENV系統變量, 所以設置ENV:出口ANDROID_JAVA_HOME = 「你的java的家」,解決了我的問題