Android SDK 管理器运行失败,出现 NullPointerException

Android SDK 管理器运行失败,出现 NullPointerException

我正在使用 Ubuntu 16.10。我已经通过终端安装了 OpenJDK Java 9 和 Eclipse。运行时android出现此错误http://pastebin.com/ALEsETUC(太长了,无法在这里发布)并且我的 SDK 管理器刚刚冻结在“正在获取...addons_list-2.xml”处。像这样。我已删除所有文件夹并重新下载工具文件。问题仍然存在。

我在以下网址发现了有关同一问题的另一个问题Android SDK 管理器未获取软件包但没有答案。

编辑:这是错误

(Android SDK Manager:9198): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed

(Android SDK Manager:9198): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'g_type_parent (interface_type) ==     G_TYPE_INTERFACE' failed
Exception in thread "Loading Sources" java.lang.ExceptionInInitializerError
    at javax.crypto.JceSecurityManager.<clinit>(java.base@9-Ubuntu/JceSecurityManager.java:65)
    at javax.crypto.Cipher.getConfiguredPermission(java.base@9-Ubuntu/Cipher.java:2595)
    at javax.crypto.Cipher.getMaxAllowedKeyLength(java.base@9-Ubuntu/Cipher.java:2619)
    at sun.security.ssl.CipherSuite$BulkCipher.isUnlimited(java.base@9-Ubuntu/CipherSuite.java:602)
    at sun.security.ssl.CipherSuite$BulkCipher.<init>(java.base@9-Ubuntu/CipherSuite.java:574)
    at sun.security.ssl.CipherSuite$BulkCipher.<clinit>(java.base@9-Ubuntu/CipherSuite.java:460)
    at sun.security.ssl.CipherSuite.<clinit>(java.base@9-Ubuntu/CipherSuite.java:1074)
    at sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuiteList(java.base@9-Ubuntu/SSLContextImpl.java:353)
    at sun.security.ssl.SSLContextImpl.access$100(java.base@9-Ubuntu/SSLContextImpl.java:41)
    at sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(java.base@9-Ubuntu/SSLContextImpl.java:582)
    at java.lang.Class.forName0(java.base@9-Ubuntu/Native Method)
    at java.lang.Class.forName(java.base@9-Ubuntu/Class.java:291)
    at java.security.Provider$Service.getImplClass(java.base@9-Ubuntu/Provider.java:1844)
    at java.security.Provider$Service.newInstance(java.base@9-Ubuntu/Provider.java:1820)
    at sun.security.jca.GetInstance.getInstance(java.base@9-Ubuntu/GetInstance.java:236)
    at sun.security.jca.GetInstance.getInstance(java.base@9-Ubuntu/GetInstance.java:164)
    at javax.net.ssl.SSLContext.getInstance(java.base@9-Ubuntu/SSLContext.java:166)
    at org.apache.http.conn.ssl.SSLSocketFactory.createSSLContext(SSLSocketFactory.java:202)
    at org.apache.http.conn.ssl.SSLSocketFactory.createDefaultSSLContext(SSLSocketFactory.java:209)
    at org.apache.http.conn.ssl.SSLSocketFactory.<init>(SSLSocketFactory.java:333) 
    at org.apache.http.conn.ssl.SSLSocketFactory.getSocketFactory(SSLSocketFactory.java:165)
    at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:45)
    at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:294)
    at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:445)
    at com.android.sdklib.internal.repository.UrlOpener.openWithHttpClient(UrlOpener.java:369)
    at com.android.sdklib.internal.repository.UrlOpener.openUrl(UrlOpener.java:188)
    at com.android.sdklib.internal.repository.DownloadCache.openUrl(DownloadCache.java:298)
    at com.android.sdklib.internal.repository.DownloadCache.downloadAndCache(DownloadCache.java:681)
    at com.android.sdklib.internal.repository.DownloadCache.openCachedUrl(DownloadCache.java:514)
    at com.android.sdklib.internal.repository.AddonsListFetcher.fetchXmlUrl(AddonsListFetcher.java:272)
    at com.android.sdklib.internal.repository.AddonsListFetcher.fetch(AddonsListFetcher.java:137)
    at com.android.sdklib.internal.repository.updater.PackageLoader.loadRemoteAddonsListInTask(PackageLoader.java:465)
    at com.android.sdklib.internal.repository.updater.PackageLoader.access$200(PackageLoader.java:52)
    at com.android.sdklib.internal.repository.updater.PackageLoader$3.run(PackageLoader.java:435)
    at com.android.sdkuilib.internal.tasks.ProgressView$2.run(ProgressView.java:140)
    at com.android.sdkuilib.internal.tasks.ProgressView.startTask(ProgressView.java:162)
    at com.android.sdkuilib.internal.tasks.ProgressViewFactory.start(ProgressViewFactory.java:46)
    at com.android.sdklib.internal.repository.updater.PackageLoader.loadRemoteAddonsList(PackageLoader.java:432)
    at com.android.sdklib.internal.repository.updater.PackageLoader$1.run(PackageLoader.java:238)
    at com.android.sdkuilib.internal.tasks.ProgressView$2.run(ProgressView.java:130)
    at java.lang.Thread.run(java.base@9-Ubuntu/Thread.java:843)
Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
    at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:91)
    ... 41 more
Caused by: java.lang.NullPointerException
    at sun.nio.fs.UnixPath.normalizeAndCheck(java.base@9-Ubuntu/UnixPath.java:75)
    at sun.nio.fs.UnixPath.<init>(java.base@9-Ubuntu/UnixPath.java:69)
    at sun.nio.fs.UnixFileSystem.getPath(java.base@9-Ubuntu/UnixFileSystem.java:280)
    at java.nio.file.Paths.get(java.base@9-Ubuntu/Paths.java:84)
    at javax.crypto.JceSecurity.setupJurisdictionPolicies(java.base@9-Ubuntu/JceSecurity.java:254)
    at javax.crypto.JceSecurity.access$000(java.base@9-Ubuntu/JceSecurity.java:49)
    at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:82)
    at javax.crypto.JceSecurity$1.run(java.base@9-Ubuntu/JceSecurity.java:79)
    at java.security.AccessController.doPrivileged(java.base@9-Ubuntu/Native Method)
    at javax.crypto.JceSecurity.<clinit>(java.base@9-Ubuntu/JceSecurity.java:78)
    ... 41 more

编辑:使用android list sdk --all给出与上述相同的错误

答案1

Java 9 尚未发布(原因很充分),您应该会遇到问题。我会尝试使用以下方法降级到 Java 8:

sudo apt update
sudo apt-get install default-jdk
sudo update-alternatives --config java

并选择 Java 8(应该是 openjdk-8)

相关内容