簡體   English   中英

Android 設備監視器未打開

[英]Android Device Monitor not opening

我無法運行 Android 監視器。 我正在使用 Android Studio。 不是 Eclipse。

  • 當我嘗試使用 sudo./monitor 在終端中打開它時,我看到以下警告,然后顯示

警告:發生了非法反射訪問操作警告: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 啟用對進一步非法反射訪問操作的警告警告:所有非法訪問操作將在未來版本中被拒絕

  • 我有 Java 版本 9,還有 Javac 9
  • 我已經安裝了最新版本的 JDK 或 JRE

這是我每次嘗試打開 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+
  • 解決方案:將 Java(您的 java 9)更改為 Java 8

Append

如何在 macOS 中設置 Java 8

  • 找到 java 主路徑
 /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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM