android sdk 和 avd 管理器无法在 Windows 7 x64 上启动
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/2181998/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
android sdk and avd manager does not launch on windows 7 x64
提问by vj01
Can anyone please confirm if android development is not yet supported on windows 7 x64? I downloaded the sdk, but when I tried to launch the sdk and avd manager it fails to launch.
任何人都可以确认Windows 7 x64是否尚不支持Android开发?我下载了 sdk,但是当我尝试启动 sdk 和 avd 管理器时,它无法启动。
回答by durzy
What worked for me was adding the JAVA_HOME environment variable pointing to the jdk folder (in my case c:\Program Files\Java\jdk1.7.0_04
) and adding %JAVA_HOME%\bin
to PATH variable
对我有用的是添加指向 jdk 文件夹的 JAVA_HOME 环境变量(在我的例子中c:\Program Files\Java\jdk1.7.0_04
)并添加%JAVA_HOME%\bin
到 PATH 变量
回答by Neil Aitken
This question is probably dead but I think I've figured it out.
这个问题可能已经死了,但我想我已经弄清楚了。
Ensure you've added the c:\android_sdk_windows\tools dir to your %PATH% environmental variable.
确保您已将 c:\android_sdk_windows\tools 目录添加到 %PATH% 环境变量中。
In eclipse check Windows->Preferences->Android and ensure you've set the SDK location to the SDK directory above.
在 eclipse 中检查 Windows->Preferences->Android 并确保您已将 SDK 位置设置为上面的 SDK 目录。
Manually create 2 directories under the SDK directory
SDK目录下手动创建2个目录
platforms
add-ons
The SDK and AVD manager should now be launchable.
SDK 和 AVD 管理器现在应该可以启动了。
回答by RookieGuy
For me the problem was solved on windows 8 64 by editing the find_java.bat in the android_sdk/tools/lib folder.
对我来说,问题是通过编辑 android_sdk/tools/lib 文件夹中的 find_java.bat 在 windows 8 64 上解决的。
Basically the for loops that set java_exe and javaw_exe will not work correctly if the path has a white space in it! Ie. "C:\Program Files\Java\jdk" has this, find_java.bat will set java_exe to "C:\Program" which android.bat doesn't like.
基本上,如果路径中有空格,则设置 java_exe 和 javaw_exe 的 for 循环将无法正常工作!IE。"C:\Program Files\Java\jdk" 有这个,find_java.bat 会将 java_exe 设置为 android.bat 不喜欢的 "C:\Program"。
I was ok when i edited find_java.bat like this: (see the two lines after 'rem edit:)
当我像这样编辑 find_java.bat 时,我没问题:(请参阅 'rem edit 之后的两行:)
rem Check we have a valid Java.exe in the path. The return code will
rem be 0 if the command worked or 1 if the exec failed (program not found).
for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a
rem edit:
set java_exe="%JAVA_HOME%\bin\java.exe"
if not defined java_exe goto :CheckFailed
:SearchJavaW
rem Check if we can find a javaw.exe at the same location than java.exe.
rem If that doesn't work, just fall back on the java.exe we just found.
for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a
rem edit:
set javaw_exe="%JAVA_HOME%\bin\javaw.exe"
if not exist %javaw_exe% set javaw_exe=%java_exe%
goto :EOF
HTH
HTH
回答by aBanhidy
I got the same problem...but I did not find any solution on the problem...so finaly I set down and start to debug android.bat file. You find it installed androidSDK folder and inside the tools folder.
我遇到了同样的问题...但我没有找到任何解决方案...所以最后我开始调试 android.bat 文件。你会发现它安装了 androidSDK 文件夹和工具文件夹内。
What I found was interesting...
Missing two important variables setting!
First: find the next row: java_exe=
Here missing java.exe location. You can use global variable if you set example: JAVA_HOME.
If set it you can override the row like: java_exe=%JAVA_HOME%
我发现很有趣... 缺少两个重要的变量设置!首先:找到下一行: java_exe= 这里缺少 java.exe 位置。如果设置 example:JAVA_HOME,则可以使用全局变量。如果设置它,您可以覆盖该行,如:java_exe=%JAVA_HOME%
Second: Find the next row: for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a Here missing varibale before lib...settings.
第二:找到下一行: for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a Here 在 lib...settings 之前缺少变量。
A few lines above you can find a variable setting row like: set work_dir="%cd%" So...you can use this variable to help to find lib\archquery.jar file
上面几行你可以找到一个变量设置行,如: set work_dir="%cd%" 所以...你可以使用这个变量来帮助找到 lib\archquery.jar 文件
Solution:
for /f %%a in ('%java_exe% -jar %work_dir%
\lib\archquery.jar') do set swt_path=lib\%%a
解决方案:for /f %%a in ('%java_exe% -jar %work_dir%
\lib\archquery.jar') do set swt_path=lib\%%a
If you finished...just save the modified bat file and try to start Abdroid SDK manager from command promt, exe file or Eclipse...
如果您完成了...只需保存修改后的 bat 文件并尝试从命令提示符、exe 文件或 Eclipse 启动 Abdroid SDK 管理器...
SORRY GUYS!!!I don't understand yet... So! I did my modification in android.bat. Install Eclipse Juno Java and Android SDK. I set a workspace directory in eclipse, try to run Android SDK manager...and it is not run. It refered the set workspace not the installed AndroidSDK folder...
对不起大家!!!我还不明白……所以!我在 android.bat 中做了我的修改。安装 Eclipse Juno Java 和 Android SDK。我在 Eclipse 中设置了一个工作区目录,尝试运行 Android SDK 管理器......但它没有运行。它引用了设置的工作区而不是安装的 AndroidSDK 文件夹...
So possible the best soulution if you use exact path to ...\lib\archquery.jar file.
如果您使用 ...\lib\archquery.jar 文件的确切路径,那么可能是最好的解决方案。
回答by Jeremy Thomas
Hey guys finally got a answer to your problem for the ANDROID AVD. My name is Jeremy; I'm not a user of Stack Overflow. Anyway.
嘿伙计们终于得到了解决您的 ANDROID AVD 问题的答案。我叫杰里米;我不是 Stack Overflow 的用户。反正。
*WINDOWS ONLY**
*仅限 Windows**
FIRST STEP: Deleteeverything you downloaded from Android. When i say everything I mean everything, from folders and anything else. Sometimes the uninstall does not do that, so you may have to manually do it. Rebootonce you finish.
第一步:删除您从 Android 下载的所有内容。当我说一切时,我的意思是一切,从文件夹和其他任何东西。有时卸载不会执行此操作,因此您可能必须手动执行此操作。完成后重新启动。
SECOND STEP: Re-installeverything. I recommend that you use the installer_r21-windows.exe (Recommended) on the website.
第二步:重新安装所有东西。我建议您使用网站上的 installer_r21-windows.exe(推荐)。
THIRD STEP: Install all of your packagesthat you are going to use while developing.
第三步:安装您在开发过程中要使用的所有软件包。
FOURTH STEP: Set up your AVDand click OK. It will take a while, and it will say "Application not responding" at the top of the window. Do notdo anything to it; let it keep going and it will eventually start up.
第四步:设置您的AVD,然后单击“确定”。这将需要一段时间,它会在窗口顶部显示“应用程序无响应”。千万不能对它做任何事情; 让它继续运行,它最终会启动。
Hope that get it for you it did for me without the hassle. P.S. I did it on Windows 7.
希望为您提供它对我来说没有麻烦。PS 我是在 Windows 7 上做的。
回答by Whome
As one of the comments indicated its C:\android-sdk-windows\tools\lib\find_java.exe and find_java.bat to blame. I have Win7-64bit, no 32bit JavaJRE/JDK installs, one jre7 64bit install. Find_java.bat+exe tool cannot find proper path to 64bit version. I guess you're fine if only 32bit JRE was installed (did not try this).
正如其中一条评论指出其 C:\android-sdk-windows\tools\lib\find_java.exe 和 find_java.bat 是罪魁祸首。我有 Win7-64 位,没有 32 位 JavaJRE/JDK 安装,一个 jre7 64 位安装。Find_java.bat+exe 工具找不到 64 位版本的正确路径。如果只安装了 32 位 JRE,我想你没问题(没有尝试过)。
- Open DOS console and goto folder C:\android-sdk-windows\tools\lib\
- run find_java.bat and find_java.exe, you should get "failed to convert path..." and "c:\windows\system32\java.exe" printouts
- type command set path=c:\Program Files\Java\jre7\bin;%path%
- run find_java.bat and find_java.exe, you don't get any errors and proper path to c:/program files/java/jre7/bin/java.exe is printed
- 打开 DOS 控制台并转到文件夹 C:\android-sdk-windows\tools\lib\
- 运行 find_java.bat 和 find_java.exe,你应该得到“无法转换路径...”和“c:\windows\system32\java.exe”打印输出
- type 命令集 path=c:\Program Files\Java\jre7\bin;%path%
- 运行 find_java.bat 和 find_java.exe,你不会得到任何错误并且正确的路径到 c:/program files/java/jre7/bin/java.exe 被打印出来
If you don't want to mess with Control Panel's environment prefs you could create two batch scripts to run AVD and SDK Manager.
如果您不想弄乱控制面板的环境首选项,您可以创建两个批处理脚本来运行 AVD 和 SDK Manager。
C:\android-sdk-windows\AVD Manager.bat
C:\android-sdk-windows\AVD Manager.bat
set PATH=C:\Program Files\Java\jre7\bin;%PATH%
"AVD Manager.exe"
C:\android-sdk-windows\SDK Manager.bat
C:\android-sdk-windows\SDK Manager.bat
set PATH=C:\Program Files\Java\jre7\bin;%PATH%
"SDK Manager.exe"
This problem and fix was tested on Win7-64bit/Android SDK Tools 20.0.3/Android SDK Platform-tools 14 releases.
此问题和修复已在 Win7-64bit/Android SDK Tools 20.0.3/Android SDK Platform-tools 14 版本上进行了测试。
回答by yeysus
I think you have your android-sdk folder in one of windows 7 system folders, e.g. Program Files (x86). Permissions there are tightly controlled by the system. You better create the android-sdk folder outside of those system directories.
我认为您的 android-sdk 文件夹位于 Windows 7 系统文件夹之一中,例如 Program Files (x86)。那里的权限由系统严格控制。您最好在这些系统目录之外创建 android-sdk 文件夹。
回答by Rod
I am having this same issue. I have my SDK in C:\Android\android_sdk_windows. It already has the platform and add-ons folders. From the UI, I can enter the infor for the AVD, but when I click [Create AVD], it just hangs. I can see that it created a new folder of .avd under .ini file. And in the .avd folder are an sdcard.img and userdata.img file.
我有同样的问题。我在 C:\Android\android_sdk_windows 中有我的 SDK。它已经有平台和附加组件文件夹。从 UI 中,我可以输入 AVD 的信息,但是当我单击 [创建 AVD] 时,它只是挂起。我可以看到它在 .ini 文件下创建了一个新的 .avd 文件夹。在 .avd 文件夹中有一个 sdcard.img 和 userdata.img 文件。
When I finally go to close the AVD program (from Windows), it comes back with a dialog telling me that the "Java SE platform binary is not responding."
当我最终关闭 AVD 程序(来自 Windows)时,它返回一个对话框,告诉我“Java SE 平台二进制文件没有响应”。
One possible issue was that I had both Java 6 (32-bit) and Java 7 (64-bit) and the find_java.bat program called by android.bat was finding the 64-bit. It still seemed to be working to bring up the UI but it was very slow so I uninstalled the Java 7. Now the UI comes up very quickly (relatively speaking).
一个可能的问题是我同时拥有 Java 6(32 位)和 Java 7(64 位)并且 android.bat 调用的 find_java.bat 程序正在查找 64 位。它似乎仍在努力调出 UI,但它非常慢,所以我卸载了 Java 7。现在 UI 出现得非常快(相对而言)。
However, I've traced the real culprit to the mksdcard.exe program. If I create an AVD with an empty SD value, it creates it fine. If I give it an SD value -- HANG.
但是,我已经找到了 mksdcard.exe 程序的真正罪魁祸首。如果我创建一个带有空 SD 值的 AVD,它会很好地创建它。如果我给它一个 SD 值——挂起。
回答by Matt
If you have moved your Users directory to a drive that is not called c:\
it will not work - a workaround is to copy the .android folder from E:\Users\Username\.android
to E:\Users\Username\.android
- then it should work.
如果您已将您的用户目录移动到未调用的驱动器,c:\
它将无法工作 - 解决方法是将 .android 文件夹复制E:\Users\Username\.android
到E:\Users\Username\.android
- 那么它应该可以工作。
Also make sure your environmental variable Path
is set to the location of the tools folder - e.g. E:\android-sdk_r05-windows\android-sdk-windows\tools
还要确保您的环境变量Path
设置为工具文件夹的位置 - 例如E:\android-sdk_r05-windows\android-sdk-windows\tools