[英]Android Device Monitor not opening
我無法運行 Android 監視器。 我正在使用 Android Studio。 不是 Eclipse。
警告:發生了非法反射訪問操作警告:org.eclipse.osgi.internal.baseadaptor.BaseStorage 非法反射訪問(文件:/Users/kidus11/Library/Android/sdk/tools/lib/monitor-x86_64/plugins/ org.eclipse.osgi_3.8.2.v20130124-134944.jar) 到方法 java.net.URLClassLoader.addURL(java.net.URL) 警告:請考慮將此報告給 org.Z6B7B655DD22FAA3F10677C5124. BaseStorage 警告:使用 --illegal-access=warn 啟用對進一步非法反射訪問操作的警告警告:所有非法訪問操作將在未來版本中被拒絕
這是我每次嘗試打開 Android 設備監視器時看到的標簽
.ENTRY org.eclipse:osgi 4 0 2017-10-04 20:18.12.531.MESSAGE 應用程序錯誤:STACK 1 java.lang.IllegalStateException。 無法獲取應用服務。 確保 org.eclipse.core.runtime 包已解析並啟動(請參閱 config.ini)。 at org.eclipse.core.runtime.internal.adaptor:EclipseAppLauncher.start(EclipseAppLauncher.java.74) at org.eclipse.core.runtime.adaptor:EclipseStarter.run(EclipseStarter.java.353) at org.eclipse.core .runtime.adaptor:EclipseStarter.run(EclipseStarter.java.180) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect:NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java.62) at java.base/jdk.internal.reflect:DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java.43) at java.base/java.lang.reflect:Method.invoke(Method.java.564) at org.Z6 B7B655DD22FAA3F10677C512493A8A0Z.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.爪哇:1438)
任何幫助將不勝感激!
Android Studio尚不支持Java 9。 安裝JDK 8並更新工作室配置以將jre指向8。
然后確保您還沒有將JAVA_HOME設置為9。 最后,確保你的機器上的某個地方沒有運行eclipse而已經擁有ADB的所有權。
最新的Android Studio Bundle附帶了自己的JRE(在<ANDROID_STUDIO>/jre
,這是推薦使用的JRE(查看文件/項目結構/ SDK位置)。
同樣,一個簡單的選擇是在監視工具下創建一個符號鏈接,以使JRE與Android Studio保持一致甚至獲得更新。
對於MAC或Linux:
#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86_64/jre
32位:
#ln -s <ANDROID_STUDIO>/jre <SDK>/tools/lib/monitor-x86/jre
然后ddms監視器適用於兩種方式:從Studio IDE(工具/ Android / ADM)或命令行( <SDK>tools/./monitor
)
是的,最新的Android Studio Bundle附帶了自己的JRE(在C:\\Program Files\\Android\\Android Studio\\jre
)。
所以,你可以復制這個jre
文件夾並將其粘貼到這里: C:\\Users\\<Username>\\AppData\\Local\\Android\\Sdk\\tools\\lib\\monitor-x86_64
現在在android studio中轉到Tools - > Android - > Android Device Monitor。
或者您可以更喜歡此鏈接解決Android設備監視器問題
不確定Android Device Monitor的用例是什么,但顯然是自Android Studio 3.0以來。 不推薦使用Android設備監視器的大多數組件:
https://developer.android.com/studio/profile/monitor.html
還有其他可以使用的工具,例如Android Profiler ......
所以也許沒有必要嘗試解決這個問題。
您修改監視器二進制目錄中的Info.plist文件。
Path example in Mac:
/Users/{username}/Library/Android/sdk/tools/lib/monitor.app/Contents/Info.plist
將捆綁的java路徑的-vm密鑰添加到<key>Eclipse</key><array>
。(有一條評論。你看了。)
-vm key example
<string>-vm</string><string>/Applications/Android\
Studio.app/Contents/jre/jdk/Contents/Home/bin/java</string>
monitor
不支持java 8+
/usr/libexec/java_home -V
Matching Java Virtual Machines (4):
11.0.2 (x86_64) "Oracle Corporation" - "OpenJDK 11.0.2" /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
1.8.333.02 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_112 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
1.7.0_79 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
cat ~/.bashrc | grep JAVA
#export JAVA_HOME=$(/usr/libexec/java_home)
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.