我希望能够在我的Ubuntu 10.04 i386服务器上使用ant提供Android项目(文件夹,.java,.xml等文件)以编程方式构建.apk文件。我没有使用Eclipse甚至是GUI。
1)我已经按照这些说明操作:http://source.android.com/source/initializing.html
2)我在这里下载/解压缩了Android Linux SDK:http://developer.android.com/sdk/index.html
3)现在,当我导航到/home/myusername/www/android-sdk-linux_x86/tools
并输入./android
时,我收到此错误:
myusername@myserver:~/www/android-sdk-linux_x86/tools$ ./android
Starting Android SDK and AVD Manager
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.sdkmanager.Main.showMainWindow(Main.java:297)
at com.android.sdkmanager.Main.doAction(Main.java:281)
at com.android.sdkmanager.Main.run(Main.java:99)
at com.android.sdkmanager.Main.main(Main.java:88)
关于出了什么问题的任何想法?
答案 0 :(得分:2)
如果您希望运行headless android问题,可以选择一些命令行选项,例如 - help 。
但是,如果这不是您的意图,并且您想使用您的显示器显示Android GUI使用ssh -X
启用X11转发,请安装libswt-gtk-3.5-java
并将ANDROID_SWT
设置为{{1 }}
答案 1 :(得分:2)
当您运行没有参数的./android二进制文件时,它会尝试打开GUI窗口。
从您提供的输出中,似乎./android二进制文件工作得很好,但是由于您运行的是无头服务器,它会崩溃。
以下是构建Android .apk的命令行步骤:
android create project --name ExampleProj --activity ExampleProj --path ./ --package com.example.project --target 2
ant debug
这将创建一个 ExampleProj-debug.apk 。
一个很好的帮助来源是./android二进制文件的 - help 参数,以及您要采取的操作。例如:
android --help create project
希望这有帮助。
答案 2 :(得分:1)
感谢dtmilano,我设法找到了解决方案。首先,如果没有安装,请在debian机器上安装libswt-gtk-3.5-java,如果在archlinux上则安装swt。如果在i686机器上,请输入终端:
export ANDROID_SWT=path-to-android-sdk/tools/lib/x86
如果在x86_64上(你可能需要一些额外的32位库,我不知道)
export ANDROID_SWT=path-to-android-sdk/tools/lib/x86_64
然后android会运行。如果你想使这个永久化,一个简单的方法是将上面的行放在〜/ .bashrc中。登录/注销后,更改将是永久性的:)
答案 3 :(得分:0)
另外 - 道歉,我挖了一点,发现了一个非常相似的主题: "android update sdk" on headless linux