APK 파일에서 AndroidManifest.xml을 보는 방법?


309

Androidmanifest.xml파일 을 볼 수 있습니까?

방금 apk파일 확장자를로 변경 했습니다 zip. 이 zip파일에는 파일이 포함되어 Androidmanifest.xml있습니다. 하지만의 내용을 볼 수 없습니다 Androidmanifest.xml. 완전히 암호화되어 있습니다.

Androidmanifest.xml파일을 어떻게 볼 수 있습니까?


APK 파일이 하나 있습니다. Androidmanifest.xml 파일을 봐야합니다. 하나의 프레임 워크를 사용했기 때문에. 그 APK 파일도 동일한 프레임 워크를 사용했습니다. 그 APK 파일에서 Androidmanifest 파일을 구성하는 방법을 알아야합니다.
bharath

@Jason Rogers : AFAIK 정보를 볼 수 있습니다. 참조
카스 Patidar

답변:


220

XML, Android APK파일의 파일을 볼 수 있습니다 . 이를위한 도구가 있습니다.android-apktool

리버스 엔지니어링 타사, 폐쇄 형, 바이너리 Android 앱을위한 도구입니다.

Windows 시스템에서이를 수행하는 방법 :

  1. apktool-install-windows- * 파일 다운로드
  2. apktool- * 파일 다운로드
  3. Windows 디렉토리에 둘 다 압축을 풉니 다

이제 APK해당 디렉토리에도 파일을 복사하고 명령 프롬프트에서 다음 명령을 실행하십시오.

apktool d HelloWorld.apk ./HelloWorld

HelloWorld현재 디렉토리에 " " 디렉토리가 생성됩니다 . 그 안에는 AndroidManifest.xml암호 해독 된 형식으로 파일을 찾을 수 XML있으며 "HelloWorld/res/layout"디렉토리 내에서 다른 파일을 찾을 수도 있습니다 .

여기 HelloWorld.apk당신의 안드로이드 APK 파일입니다.

자세한 내용은 아래 스크린 샷을 참조하십시오. 대체 텍스트


15
이것은 좋지만이 모든 것을 다운로드하지 않고도 AndroidManifest.xml을 보는 방법을 알고 싶습니다. 암호화 또는 압축되어 있습니까?
JohnnyLambada

1
@JohnnyLambada : 예. WinRar / WinZip / 7Zip 과 같은 보관 도구에서 열어 볼 수는 있지만 암호화 된 형식이기 때문에 의미가 없습니다.
Vikas Patidar

9
apktool은 더 이상 사용되지 않습니다. 최신 버전 은 프로젝트 홈페이지 를 참조하십시오 .
Deqing

1
스레드 "main"의 예외 brut.androlib.AndrolibException : 여러 리소스 : at brut.androlib.res.data.ResConfig.addResource (알 수없는 소스)
WindRider

3
이제 최신 버전에 대한 명령이 변경되었습니다apktool d your_destination youraApk.apk
Pranoy Sarkar

109

이제 Android Studio에서이를 표시 할 수 있습니다. Build>로 이동 Analyze APK...하여 APK를 선택하십시오. 그러면 AndroidManifset 파일의 내용을 볼 수 있습니다.


3
이 기능은 최근에 추가되었으며 명령 줄을 사용하고 경로에 플랫폼 도구가없는 경우가 아니라면이 기능을 제안하고 싶습니다.
anthonymonori

8
이것은 최선의 대답이되기 위해 상향 조정되어야하며, 다른 방법은 불필요하게 복잡합니다.
Sébastien

3
이 기본 제공 명령 줄 버전도 있습니다 : stackoverflow.com/a/54874783/89818
caw

46

aapt d xmltree com.package.apk AndroidManifest.xml

AndroidManifest.xml지정된 APK에서 를 덤프합니다 . XML 형식이 아니지만 여전히 읽을 수 있습니다.

aapt (Android Asset Packaging Tool)은 Android SDK와 함께 제공되는 내장 도구입니다.


45

스레드 에서 Dianne Hackborn은 aapt를 사용하여 AndroidManifest에서 정보를 얻을 수 있다고 말합니다.

버전 정보를 얻기 위해이 빠른 유닉스 명령을 채웠습니다.

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"

안드로이드 앱에서도 가능합니까? 또한 버전 이름뿐만 아니라 모든 매니페스트 파일을 가져올 수 있습니까?
안드로이드 개발자

36

Google은 APK를 검사하기위한 크로스 플랫폼 오픈 소스 도구를 출시했습니다 (다른 많은 이진 Android 형식 중에서).

ClassyShark 는 Android 개발자를위한 독립형 바이너리 검사 도구입니다. Android 실행 파일을 안정적으로 탐색하고 클래스 인터페이스 및 멤버, 덱스 수 및 종속성과 같은 중요한 정보를 표시 할 수 있습니다. ClassyShark는 라이브러리 (.dex, .aar, .so), 실행 파일 (.apk, .jar, .class) 및 모든 Android 바이너리 XML (AndroidManifest, 리소스, 레이아웃 등)을 포함한 여러 형식을 지원합니다.

ClassyShark 스크린 샷


3
이것은 Apktool보다 10000 배 쉽습니다!
Guilherme Campos Hazan

18

Android SDK에 번들로 제공되는 APK Analyzerapkanalyzer 의 명령 행 버전 인을 사용할 수 있습니다 . CLI에서 다음 명령을 실행하십시오.

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

/path/to/android-sdkAndroid SDK 버전의 올바른 경로 /path/to/app.apk와 APK 파일의 경로 만 바꿔야 합니다.


8
확인되지 않은 소스에서 아무것도 설치하지 않아도되므로 허용되는 답변이어야합니다.
c4k

이 윈도우에서 작동하는 :( 보이지 않습니다 stackoverflow.com/a/54593118/997940
아브 Feuerstein에

"메인"스레드의 예외 java.lang.IllegalStateException : 예외 : 도구 디렉토리 특성이 설정되지 않았습니다. apkanalyzer를 실행 중인지 확인하십시오. 해결 방법을 모릅니다
jk2K

이것은 macOS를 사용하는 경우 필요한 경로 일 가능성이 높습니다.~/Library/Android/sdk/tools/bin/apkanalyzer manifest print <apk>
Frederik

15

이 명령을 사용할 수 있습니다 : 파일로 저장 AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt

2
d의 약어입니다 dump동일이 대답합니다, 이 하나 더 년 이전의 게시했습니다.
Dan Dascalescu

4
예,하지만이 코드는 file에 저장됩니다 > AndroidManifest.txt.
Ahmad Aghazadeh

lol, 같은 대답입니다. 파일을 덤프하면 차이가 없습니다.
Leonardo Sapuy


7

APK를 업로드 할 수있는 온라인 도구가 있습니다. 디 컴파일하여 컴퓨터에 프로그램을 설치하지 않고도 모든 소스, 매니페스트 XML 파일 등을 압축 해제하여 압축을 풀 수 있습니다. http : / /www.javadecompilers.com/apk

또한 UI를 통해 일부 매개 변수를 확인하려는 경우


8 월에 APK에서 작업
했지만

apktools는 출력으로 디렉토리를 만들지 않는 것처럼 보였으며 aapt는 결과를 XML 형식으로 표시하지 않았습니다. 이 웹 사이트는 매력처럼 작동했습니다.
kregus

6

axmldec을AndroidManifest.xml 사용 하여 파일 을 디코딩하려면 다음을 수행 하십시오 .

axmldec -o output.xml AndroidManifest.xml

또는

axmldec -o output.xml AndroidApp.apk

이것은 작동하며 Homebrew를 통해 쉽게 설치할 수 있습니다 :brew tap ytsutano/toolbox brew install axmldec
gmoz22

5

Android SDK 빌드 도구에 포함 된 Aapt2는이를 수행 할 수 있으며 타사 도구는 필요하지 않습니다.

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk

build-tools v29부터 다음 명령을 추가해야합니다 xmltree.

$(ANDROID_SDK)/build-tools/29.0.3/aapt2 d xmltree --file AndroidManifest.xml app-foo-release.apk

이것은 원본 XML을 출력하지 않지만 APK를 추출하거나 임시 파일에 쓰지 않고 값을보아야 할 경우 깔끔합니다.
Raziel

2

내 앱인 App Detective 를 사용 하여 기기에 설치 한 모든 앱의 매니페스트 파일을 볼 수도 있습니다 .


0

이것은 오래된 스레드이지만 휴대 전화에 루트가 있으므로 루트 탐색기 앱을 사용하여 휴대 전화에서 직접 볼 수 있다고 언급했습니다. 추출하기 위해 추출 할 필요조차 없습니다.


-1

파일을 디 컴파일해야합니다 (또는 디오 덱스가 어떤 파일인지 확실하지 않습니다). 그러나 여기 또 다른 방법이 있습니다.

-Download free Tickle My Android tool on XDA: https://forum.xda-developers.com/showthread.php?t=1633333https://forum.xda-developers.com/showthread.php?t=1633333
-Unzip
-Copy APK into \_WorkArea1\_in\ folder
-Open "Tickle My Android.exe"
-Theming Menu
-Decompile Files->Any key to continue (ignore warning)
-Decompile Files->1->[Enter]->y[Enter]
-Wait for it to decompile in new window... Done when new window closes
-Decompiled/viewable files will be here: \_WorkArea3\_working\[App]\

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.