Android AOSP 4.2.2:无法在64位JVM上加载32位SWT库
我在生成后运行任何AOSP命令时遇到问题。在Android AOSP 4.2.2:无法在64位JVM上加载32位SWT库,android,eclipse,swt,android-source,Android,Eclipse,Swt,Android Source,我在生成后运行任何AOSP命令时遇到问题。在makeing源代码后,我执行以下操作: $ 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
make
ing源代码后,我执行以下操作:
$ 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)
以下是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
我知道。但是,我尝试了解决方案1,但它不起作用。对于新的AOSP下载和构建来说,其他修复看起来过于根深蒂固
任何帮助/指导都将不胜感激。在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/
尝试在Java1.7上运行并添加VM参数-d32@AnkitSomani我已经尝试过了,但是,添加
-d32
只允许我访问android
程序,但我无法指定任何命令,例如avd
。此外,修改bash文件以将-d32
添加到命令中也没有帮助。
ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/