본문 바로가기
SW 개발/Android

Android apkanalyzer 에러: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

by Kibua20 2020. 8. 20.

우분투 20.04 환경에서 Android APK 분석 tool인 apk analyzer를 설치 후 실행 시 발생하는 에러입니다. JAVA HOME 설정이 되지 않아서 발생하는 에러입니다. 

 

에러 메시지 

$ apkanalyzer
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match thelocation of your Java installation.

 

# open jdk 설치 후 JAVA_HOME 설정

 sudo apt install openjdk-14-jre-headless  # version 14.0.1+7-1ubuntu1

export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64

→  Java 가 설치되지 않아서 발생하는 에러로 open-jdk-14 설치 후 JAVA HOME을 /usr/lib/jvm/java-14-openjdk-amd64 설정하면 NoClassDefFoundError 에러가 발생합니다. 

 

 

#openjdk 설치 후 에러 메시지

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.(SchemaModule.java:156) at com.android.repository.api.SchemaModule.(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.(AndroidSdkHandler.java:81) at com.android.tools.apk.analyzer.ApkAnalyzerCli.getAaptInvokerFromSdk(ApkAnalyzerCli.java:277) at com.android.tools.apk.analyzer.ApkAnalyzerCli.main(ApkAnalyzerCli.java:129) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ... 5 more

 

→ Android Studio에서 JRE 가 설치된 PATH로 설정

$ vi .bashrc 에서 아래 JAVA_HOME 설정 추가

export JAVA_HOME=/home/kibua20/android-studio/jre

 

관련 글

[모바일 SW 개발/Android] - Command line 기반 Android Apk 분석 툴: apkanalyzer

[개발환경/Web Server] - Python: Web Framework Flask 사용하기

[모바일 SW 개발/Python] - 파이썬으로 Apk Download 자동화: Selenium기반의 Apk 크롤러

[개발환경/Google Cloud Platform] - GCP(Google Cloud) 원격 데스크 톱(RDP) 연결: Linux 용 Chrome RDP

[모바일 SW 개발/Python] - Python: OSError: [Errno 98] Address already in use (Flask)

[모바일 SW 개발/REST API] - Service Account(JWT)을 활용한 Google Calendar API 사용

[개발환경/우분투] - 우분투에서 7zip command line 사용하기 (p7zip과 7za추천)

[모바일 SW 개발/Android] - Repo 에러: repo sync unable to read sha1 file of xxx, cannot initialize work tree

[모바일 SW 개발/Python] - Python 에러: /usr/bin/env: `python3\r': 그런 파일이나 디렉터리가 없습니다

[모바일 SW 개발/Android] - Android 11 (R-OS) Emulator에 설치하기

[모바일 SW 개발/Android] - Android 11 기능 소개

[모바일 SW 개발/Android] - Android Studio 4.0 사용하기




댓글