Android Studio で Android Device Monitor が起動しない - Android

Android Studio で Android Device Monitor が起動しない場合の対処法を紹介します。

現象

Android Studioで[Tools]メニューの[Android]サブメニューの[Android Device Monitor]を選択します。


下図のエラー"An error has occured. See the log file"が発生します。


エラーログを確認すると以下のメッセージが記録されています。
!MESSAGE Application error
!STACK 1
java.io.IOException: The folder "C:\Users\Penguin%20Kun\.android\monitor-workspace\.metadata" is read-only.
	at org.eclipse.core.runtime.internal.adaptor.BasicLocation.lock(BasicLocation.java:206)
	at org.eclipse.core.runtime.internal.adaptor.BasicLocation.set(BasicLocation.java:164)
	at org.eclipse.core.runtime.internal.adaptor.BasicLocation.set(BasicLocation.java:137)
	at com.android.ide.eclipse.monitor.MonitorApplication.start(MonitorApplication.java:53)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

原因

ユーザー名に空白" "が含まれていると、空白を%20に置換した名前のディレクトリにアクセスするため、アクセス権に関するエラーが発生して起動できないことが原因と考えられます。

ユーザー名が"Penguin Kun"であった場合、Android Device Monitorの.metadata ファイルは
"C:\Users\Penguin Kun\.android\monitor-workspace\.metadata"
となるはずですが、" "が%20に置換されるため、実際は
"C:\Users\Penguin%20Kun\.android\monitor-workspace\.metadata"
にアクセスしようとします。そのため、ファイルにアクセスできないなどの問題が発生し、エラーによりAndroid Device Monitorが起動できません。

対策

以下の対策を実施します。

方法1:ユーザー名に空白を利用しない

ユーザー名に空白を含めないことでこの問題を解決できます。
ユーザー名を "Penguin Kun" → "Penguin" に変更します。

方法2:空白を%20に置換したディレクトリを作成し、書き込み権限を付与する

ユーザー名が"Penguin Kun"であった場合"C:\Users\Penguin%20Kun\.android\monitor-workspace"ディレクトリを作成し、"Penguin Kun"ユーザーがこのディレクトリに描きこめる権限を付与します。

対策後

Android Studioで[Tools]メニューの[Android]サブメニューの[Android Device Monitor]を選択すると、Android Device Monitorが起動できるようになります。

著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
掲載日: 2015-03-31
iPentec all rights reserverd.