tools.jar找不到OS X.

Sin*_*git 6 java macos android tools.jar osx-elcapitan

我已经扫描了堆栈溢出,并没有找到解决我的问题.这有点长,但我在过去一周没有找到解决方案,不停地搜索.

问题:尝试编译Android源代码时,以及尝试安装Android Studio时都找不到tools.jar

操作系统:Mac OS X El Capitan 10.11计算机:MacBook Pro Retina,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
Run Code Online (Sandbox Code Playgroud)

这个错误弹出@ lunch 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?
Run Code Online (Sandbox Code Playgroud)

场景2:下载Android Studio以制作应用,但会弹出此错误,

'tools.jar' seems to be not in Studio classpath.
Please ensure JAVA_HOME points to JDK rather than JRE.
Run Code Online (Sandbox Code Playgroud)

这是我的.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)
Run Code Online (Sandbox Code Playgroud)

第一行是Mongodb,"mounts"是源自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
Run Code Online (Sandbox Code Playgroud)

JDK 1.9是beta版本,但我需要它来安装Netbeans Dev JDK 1.9版本,因为MacBook Pro Retina与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
Run Code Online (Sandbox Code Playgroud)

如果我注释掉所有$ JAVA_HOME,则默认为jdk1.9.不知道为什么,但确实如此.

当我将tools.jar复制到Android Studio App文件夹时,会出现任何类似的解决方案(见下文).它让我"安装"Android Studio并运行,但是当我尝试创建一个新的应用程序时,它只是坐在那里,什么也没做.另外,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/
Run Code Online (Sandbox Code Playgroud)

这个问题的解决方案将是天赐之物.我的大部分工作都依赖于此,我希望能从我的新笔记本电脑中获得.目前,我不得不远程进入Ubuntu机器来完成我所有的Android Source工作.Android Studio问题只是问题的延伸(我想).提前致谢.

小智 0

在 .bashrc /usr/libexec/java_home -v 1.7.0_71 -a x86_64 中使用以下内容

.bashrc 中的确切路径 export JAVA_HOME=$(/usr/libexec/java_home -v 1.7.0_71 -a x86_64)