“android update sdk”在无头Linux上

有没有人成功地在无头Linux服务器上更新/安装Android SDK平台? 我得到的是以下错误:

这似乎是行动“更新sdk”实际上不支持?

~/android-sdk-linux_86/tools$ ./android --verbose update sdk No command line parameters provided, launching UI. See 'android --help' for operations from the command line. Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3550 or swt-pi-gtk in swt.library.path, java.library.path or the jar file at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source) at org.eclipse.swt.internal.gtk.OS.<clinit>(Unknown Source) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source) at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source) at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.open(UpdaterWindowImpl.java:93) at com.android.sdkuilib.repository.UpdaterWindow.open(UpdaterWindow.java:110) at com.android.sdkmanager.Main.showMainWindow(Main.java:281) at com.android.sdkmanager.Main.doAction(Main.java:251) at com.android.sdkmanager.Main.run(Main.java:92) at com.android.sdkmanager.Main.main(Main.java:81) 

更新 :前一个问题是在不支持无头更新的时候问的。 现在可以做一个android update sdk --no-ui 。 谢谢大家!

更新的Android SDK无头和自动描述是在这种方式自动化的android-sdk的安装

你可以使用--no-ui选项:

 android update sdk --no-ui 

如果你想自动化,你可以通过使用expect工具来接受所有的许可证( --accept-license选项目前没有完全集成在android工具中):

 expect -c ' set timeout -1; spawn android - update sdk --no-ui; expect { "Do you accept the license" { exp_send "y\r" ; exp_continue } eof } ' 

我遇到了同样的问题。 我发现了一个解决方法。

第一个是cop-out:在一个有头的系统上下载平台,并简单地将platform子目录复制到你的android sdk / platforms目录中。

如果像我一样,你没有立即访问另一个领先的android开发环境,你可以去Google的SDK档案,并下载包括平台的其他SDK之一。 这意味着你只能为Android 1.1和1.5开发。

下载得到的Linux系统是他们的Android 1.5 R3。 当然,谷歌的SDK下载页面不是猫眼友好的,所以我不得不从另一个GUI系统直接链接。

 wget http://dl.google.com/android/archives/android-sdk-linux_x86-1.5_r3.zip 

然后,只需解压缩存档,然后将平台sibdirs移到您的较新的SDK平台dir。

 android create avd -t 3 -p path/to/avd/dir -n "name" 

这将为您的指定名称和目录创build1.5平台的AVD。 请注意avd dir不应该存在。 如果要覆盖,请将–force添加到命令中。

到此为止,已经安装了一个平台并创build了一个AVD。 不幸的是,现在试图构build失败,因为我运行一个64位服务器,而谷歌只发布32位工具。

我在这个stackoverflow问题的公认答案中find了解决scheme,并使用sudo apt-get install ia32-libs来启用运行32位工具的能力。

那么你应该可以在CLI上使用android工具来转换一个eclipse项目(1.5或更低版本)来创build一个ant构build系统,或者你可以让它创build一个新的项目供你开始工作。

希望这可以帮助!

是的,它可以工作,但是您需要安装GUI库,并且您需要将DISPLAY设置为要显示的X服务器。 我现在正在CentOS 5.4上工作,不得不使用“服务器 – graphics用户界面”对“服务器”安装选项。 然后,我只是使用“ssh -X”从我希望它显示的系统。

我刚刚创build了一个小命令行工具,可以在任何环境(GUI或非GUI)中执行更新。 没有机会进行广泛的testing,但据我所知,它应该做什么。

命令行工具使用所有当前可用的平台,附加软件,附加软件,文档,示例和工具更新预装的基本Android SDK。 对于构build服务器来说,这应该足够了(我需要使用Maven的Hudson CI安装)。

请到这里了解更多详情:

http://code.google.com/p/android-sdk-tool