我安装了Android SDK,但我无法使用它,因为AVD和SDK Manager无法运行.当我尝试打开其中任何一个时,命令提示符窗口会弹出大约半秒钟然后关闭.我已经尝试从命令提示符运行exe来查看是否有错误消息,但没有输出,它的行为相同.我研究了这个问题,发现其他计算机完全一样.我尝试了一些贴在那里的解决方案:
PATH环境变量的开头PATH环境变量中.android从user(C:/Users/[User Name])目录中删除该文件夹C:驱动器的根目录中,而不是在Program Files中操作系统信息:Windows 7家庭高级版,管理员权限
我想我找到了问题的根源,但我仍然不知道如何修复它.问题似乎与我android.bat在C:\Android\android-sdk\tools目录中的文件有关.它试图调用find_java.bat但由于语法问题很小而无法调用.这是输出:
'C:\ Android\ANDROI~1\tools\lib\find_java.exe -s'未被识别为内部或外部命令,可运行程序或批处理文件.
错误:找不到合适的Java.为了正确使用Android Developer Tools,您需要在系统上安装合适的Java JDK版本.我们建议您安装JDK版本的JavaSE,可在此处获取:http: //www.oracle.com/technetwork/java/javase/downloads
您可以在此处找到完整的Android SDK要求:http: //developer.android.com/sdk/requirements.html
经过一些修改后android.bat,我能够调用find_java.bat它,无论我做了什么,它都会产生一堆错误.我终于感到沮丧,并决定硬编码的位置java.exe.稍后在批处理文件中还有另一个错误.我开始认为我的安装或批处理文件确实存在问题.这是批处理文件(android.bat):
@echo off
rem Copyright (C) 2007 The Android Open Source Project
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may …Run Code Online (Sandbox Code Playgroud) 我有一个SwingWorker在后台与服务器通信,然后更新一个JFrame.我正在调试我的应用程序,并注意到即使在SwingWorker完成其工作后,其线程仍然存在.它悬挂在Unsafe.park(java.lang.Object)本机方法上.我进一步调查了这一点,发现SwingWorker我的应用程序中的所有其他内容在完成后都会执行相同的操作.我可以提供源代码,如果有人想要它,但我不认为这是必要的,因为问题看起来很一般.
我在没有调试器的情况下运行应用程序,问题仍然存在.这是SwingWorker线程的转储:
"SwingWorker-pool-2-thread-1" daemon prio=6 tid=0x03219800 nid=0xd74 waiting on
condition [0x04b7f000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x22ec63d8> (a java.util.concurrent.locks.Abstra
ctQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
.await(Unknown Source)
at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
我制作了一个示例程序,SwingWorker它使用了应用程序中通常使用的方式.这个程序有同样的问题.这是代码:
package swingworkerlocktest;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.SwingWorker;
public class SwingWorkerLockTest {
public static …Run Code Online (Sandbox Code Playgroud)