Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 由命令行调用的Android apkanalyzer给出了一个;NoClassDefFoundError“;例外_Java_Android_Apk_Android Sdk Tools - Fatal编程技术网

Java 由命令行调用的Android apkanalyzer给出了一个;NoClassDefFoundError“;例外

Java 由命令行调用的Android apkanalyzer给出了一个;NoClassDefFoundError“;例外,java,android,apk,android-sdk-tools,Java,Android,Apk,Android Sdk Tools,我正在尝试运行Android SDK提供的apkanalyzer工具(在SDK/tool/bin下),但我无法使它工作。我知道我也可以通过AndroidStudio使用这个工具,但我需要自动化apk分析,以涵盖许多apk。所以,我按照这个来使用它 无论如何,当我尝试启动apkanalyzer(例如apkanalyzer apk summary APKname.apk)时,会出现以下异常: 线程“main”java.lang.NoClassDefFoundError中出现异常:javax/xml/

我正在尝试运行Android SDK提供的apkanalyzer工具(在SDK/tool/bin下),但我无法使它工作。我知道我也可以通过AndroidStudio使用这个工具,但我需要自动化apk分析,以涵盖许多apk。所以,我按照这个来使用它

无论如何,当我尝试启动apkanalyzer(例如apkanalyzer apk summary APKname.apk)时,会出现以下异常:

线程“main”java.lang.NoClassDefFoundError中出现异常:javax/xml/bind/annotation/XmlSchema 位于com.android.repository.api.SchemaModule$SchemaModule版本。(SchemaModule.java:156) 位于com.android.repository.api.SchemaModule(SchemaModule.java:75) 位于com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81) 在com.android.tools.apk.analyzercli.ApkAnalyzerCli.getAaptInvokerFromSdk上(ApkAnalyzerCli.java:277) 位于com.android.tools.apk.analyzercli.main(ApkAnalyzerCli.java:129) 原因:java.lang.ClassNotFoundException:javax.xml.bind.annotation.XmlSchema 位于java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) 位于java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) 位于java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 还有5个


问题出在哪里?

我也有同样的问题。我所要做的就是正确设置JAVA_主页。 我在bashrc中将JAVA_HOME设置为$PATH_to_ANDROIDSTUDIO/jre

我在~/.bashrc中的确切陈述:

export JAVA_HOME=/home/rahul/Softwares/android-studio/jre
Mac用户示例:

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre"
因为,如果您将
JAVA\u HOME
指向绑定的jdk,那么在升级Android Studio时也可能会注意到这个错误。()

要恢复:

  • 自己下载jdk 8()
  • 查找1.8java_主路径(/usr/libexec/JAVA_HOME-V on mac)

  • 你解决了吗?我也有同样的错误。不,不幸的是,我没有找出问题所在。我只是手工做了我需要的分析,通过编写一个小程序来解包APK并提取我想要的信息。
    Matching Java Virtual Machines (2):
        15.0.1, x86_64: "OpenJDK 15.0.1"    <path to have home1>
        1.8.0_291, x86_64:  "Java SE 8"     <path to have home2>
    
    export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre"