IT박스

릴리스 용으로 서명 된 APK를 디버깅하는 방법은 무엇입니까?

itboxs 2020. 8. 23. 08:42
반응형

릴리스 용으로 서명 된 APK를 디버깅하는 방법은 무엇입니까?


Android 마켓에 서명하고 업로드하고 휴대 전화에 설치 한 APK가 있습니다. 내 전화에서 실행되는 동안이 릴리스 apk (Eclipse를 통해)를 디버깅하고 싶습니다. 이전에이 작업을 수행했지만 (Android 개발 도구 중 하나 인 Dalvik Debug Monitor) 불행히도이를 수행하는 방법을 기억할 수 없으며 온라인에서 기사를 찾을 수 없습니다. 누구든지 이것이 어떻게 할 수 있는지 알고 있습니까?

참고 : 내가 설정 android:debuggable="true"매니페스트에 내 전화에 디버깅 USB를 사용할 수있다.


매니페스트 파일 android:debuggable="true"application태그에 설정되어 있는지 확인한 후 다음을 수행하십시오.

  1. 전화기를 컴퓨터에 연결하고 전화기에서 USB 디버깅을 활성화하십시오.
  2. Eclipse 및 앱 코드가 포함 된 작업 공간을 엽니 다.
  3. Eclipse에서 Window-> Show View-> Devices로 이동하십시오.
  4. 이제 표시되어야하는 장치보기를보십시오. 장치가 나열되어 있어야합니다.
  5. 장치가 목록에 없으면 계속하기 전에 휴대폰의 ADB 드라이버를 추적해야합니다.
  6. 코드를 단계별로 실행하려면 앱 어딘가에 중단 점을 설정하세요.
  7. 휴대 전화에서 앱을 엽니 다.
  8. 장치보기에서 아직 확장되지 않은 경우 휴대폰 항목을 확장하고 앱의 패키지 이름을 찾습니다.
  9. 패키지 이름을 클릭하면 장치보기의 오른쪽 상단에 여러 다른 작은 버튼과 함께 녹색 버그가 표시됩니다. 녹색 버그를 클릭하십시오.
  10. 이제 앱을 연결 / 디버깅해야합니다.

나는 이것이 오래된 질문이라는 것을 알고 있지만 향후 참조. Gradle을 사용하는 Android Studio에서 :

buildTypes {
    release {
        debuggable true
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

그 선 debuggable true은 저에게 속임수였습니다.

최신 정보:

gradle 1.0 이후로 minifyEnabledrunProguard. 여기 좀 봐


Manuel의 방식 외에도 Manifest를 계속 사용할 수 있습니다.

Android Studio stable에서는 파일 application다음 두 줄을 추가 해야 AndroidManifest합니다.

    android:debuggable="true"
    tools:ignore="HardcodedDebugMode"

첫 번째는 서명 된 APK의 디버깅을 활성화하고 두 번째는 컴파일 시간 오류를 방지합니다.

그런 다음 "Attach debugger to Android process"버튼을 통해 프로세스에 연결할 수 있습니다.


나는 다음과 같이 시도했고 효과가 있었다.

release {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

앱 build.gradle에 다음을 추가하고 지정된 릴리스 빌드 변형을 선택하고 실행합니다.

signingConfigs {
        config {
            keyAlias 'keyalias'
            keyPassword 'keypwd'
            storeFile file('<<KEYSTORE-PATH>>.keystore')
            storePassword 'pwd'
        }
    }
    buildTypes {
      release {
          debuggable true
          signingConfig signingConfigs.config
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

당신의 경우 디버그를 결정 하여 디버깅로 이미 시장에서가 아니라 할당입니다 APK를하고 다시 게시하지 않습니다. 따라서 아래 단계를 따르십시오.

  1. Decompile the Apk with ApkTool(eg. apktool d <APK_PATH>)
  2. Open the AndroidManifest.xml from decompiled files
  3. Set android:debuggable="true" in application tag
  4. Compile the modified source with ApkTool (eg. apktool b <MODIFIED_PATH>)
  5. Debuggable apk ready(which unsigned means cannot publish store). You can debug as you wish.

참고URL : https://stackoverflow.com/questions/9081877/how-to-debug-apk-signed-for-release

반응형