小编lop*_*d98的帖子

Android SDK和AVD Manager无法运行

我安装了Android SDK,但我无法使用它,因为AVD和SDK Manager无法运行.当我尝试打开其中任何一个时,命令提示符窗口会弹出大约半秒钟然后关闭.我已经尝试从命令提示符运行exe来查看是否有错误消息,但没有输出,它的行为相同.我研究了这个问题,发现其他计算机完全一样.我尝试了一些贴在那里的解决方案:

解决方案似乎不起作用

  • 将JDK位置添加到PATH环境变量的开头
  • 将Android SDK位置添加到PATH环境变量中
  • 以管理员身份运行应用程序
  • .android从user(C:/Users/[User Name])目录中删除该文件夹
  • 安装在C:驱动器的根目录中,而不是在Program Files中

操作系统信息:Windows 7家庭高级版,管理员权限


更新

我想我找到了问题的根源,但我仍然不知道如何修复它.问题似乎与我android.batC:\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)

android android-virtual-device

9
推荐指数
2
解决办法
4万
查看次数

SwingWorker挂在Unsafe.park()

我有一个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)

java swing swingworker

6
推荐指数
1
解决办法
1533
查看次数