我已经扫描了堆栈溢出,但没有找到解决我问题的方法。这有点长,但我在过去一周没有找到解决方案,不停地搜索。
问题:尝试编译Android源代码时,以及尝试安装Android Studio时找不到tools.jar
操作系统:Mac OS X El Capitan 10.11 电脑:MacBook Pro Retina,2015年末。(几周前的新电脑)
以下是两个似乎存在相同问题的方案。
场景1:我正在尝试编译Android源代码以创建自定义ROM。我已经针对OS X执行了http://source.android.com的步骤,特别是关于MAC的部分中的http://source.android.com/source/initializing.html。
我已经完成了所有步骤,导致构建系统。下一步是
source build/envsetup.sh
lunch aosp_eng
此错误弹出@ 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?
场景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,#34;坐骑"是从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是测试版,但我需要它来安装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
如果我注释掉所有$ 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/
问题的解决方案将是天赐之物。我的大部分工作都依赖于此,我希望能从我的新笔记本电脑中获得。目前,我不得不远程进入Ubuntu机器来完成我所有的Android Source工作。 Android Studio问题只是问题的延伸(我想)。提前谢谢。
答案 0 :(得分:3)
Android需要一个名为ANDROID_JAVA_HOME的分隔符env系统变量, 所以设置env:export ANDROID_JAVA_HOME ="你的java home",解决了我的问题
答案 1 :(得分: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)