构建后运行任何AOSP命令时遇到问题。在make
源之后,我执行以下操作:
$ lunch full-eng
$ android
会发生什么:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<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.showSdkManagerWindow(Main.java:330)
at com.android.sdkmanager.Main.doAction(Main.java:318)
at com.android.sdkmanager.Main.run(Main.java:118)
at com.android.sdkmanager.Main.main(Main.java:101)
我似乎无法找到任何解决方案。我正在尝试构建AOSP 4.2.2_r1.2b。我之前已经构建了4.0.4而没有遇到这个问题。我正在运行这个版本的java:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
以下是android
bash文件(/media/android/source/sdk/sdkmanager/app/etc/android
)生成的命令:
java \
-Xmx256M \
-classpath /media/android/source/out/host/linux-x86/framework/sdkmanager.jar:/media/android/source/out/host/linux-x86/framework/swtmenubar.jar:/media/android/source/prebuilts/tools/linux-x86_64/swt/swt.jar \
-Dcom.android.sdkmanager.toolsdir=/media/android/source/out/host/linux-x86/bin \
com.android.sdkmanager.Main
请注意它仍然选择64位版本的SWT。
我知道this thread。但是,我尝试了解决方案1并且它不起作用。对于新的AOSP下载和构建,其他修补程序似乎根深蒂固......
非常感谢任何帮助/指导。
答案 0 :(得分:0)
在Ubuntu 12.04 32位。我编辑命令:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
在Ubuntu 12.04上64位尝试:
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/