Android Vista 64bitでスタンドアローン版のDDMSを使用する方法

現在リリースされているSDKでは、Vista 64bit版では、DDMSを起動するとエラーとなり起動できません。
(32bit版ではもちろん大丈夫です。)

DDMSのエラーメッセージ
C:androidandroid-sdk-windows-1.1_r1tools>ddms57:43 E/ddms: shutting down due to uncaught exception57:43 E/ddms: java.lang.UnsatisfiedLinkError: C:androidandroid-sdk-windows-1.1_r1toolslibswt-win32-3236.dll: Can't load IA 32-bit .dll on a AMD 64-bit platformat java.lang.ClassLoader$NativeLibrary.load(Native Method)at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1660)at java.lang.Runtime.loadLibrary0(Runtime.java:823)at java.lang.System.loadLibrary(System.java:1030)at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)at org.eclipse.swt.graphics.FontData.<init>(FontData.java:259)at com.android.ddms.PrefsDialog.setDefaults(PrefsDialog.java:198)at com.android.ddms.PrefsDialog.init(PrefsDialog.java:140)at com.android.ddms.Main.main(Main.java:74)

SDK1.1に引き続き、SDK1.5preでも動作しませんでしたので、動作させる方法をまとめました。

解決方法1

32bit版のJavaから起動する

Android SDKフォルダ¥tools¥ddms.batに環境変数PATH設定を追加し、32bit版Javaのbinフォルダを指定するようする

set "PATH=C:¥Program Files (x86)¥Java¥jdk1.6.0_04¥bin"

解決方法2

  1. SDKインストールフォルダ¥tools¥lib¥配下にある次のファイルを削除する
    • swt.jar
    • swt-awt-win32-3226.dll
    • swt-gdip-win32-3226.dll
    • swt-wgl-win32-3226.dll
    • swt-win32-3226.dll
  2. Eclipse(Windows 64bit版)をダウンロード・解凍する
  3. 解凍したEclipseフォルダ配下のpluginsのorg.eclipse.swt.win32.win32.x86_64_xxxxxx.jarを見つける(Eclipse 3.4.0の場合はorg.eclipse.swt.win32.win32.x86_64_3.4.0.v3448f.jar)
  4. 見つけたファイルを「SDKインストールフォルダ¥tools¥lib¥swt.jar」として保存する(他の削除したdllファイルはコピーしたswt.jarの中に含まれているため不要)

補足

Eclipse PluginのADT内にDDMS機能があるため、何故DDMSのスタンドアロン版を使うのか?と疑問に思う方もいるかもしれませんが、Eclipseではなく、NetBeansを使用している場合は、スタンドアロン版DDMSが必要となるからです。

ブログ内のNetBeansに関連する記事

ブログ内の関連する記事


コメント

このブログの人気の投稿

島へ移住の話【炊飯】

ドローンプログラミング体験教室を伊豆大島の小学校でしてきました

情報処理安全確保支援士登録証のカード型が届きました。