2015-11-04 121 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的家”,解决了我的问题