簡體   English   中英

如何調試簽署發布的apk?

[英]How to debug apk signed for release?

我有一個已簽名並上傳到 Android Market 並安裝在手機上的 apk。 我想在我的手機上運行這個版本的 apk(通過 Eclipse)來調試它。 我以前做過這個(並且記得它是使用其中一個 Android 開發工具;也許是 Dalvik 調試監視器)但不幸的是不記得如何去做,並且無法在網上找到任何文章。 有誰知道如何做到這一點?

注意:我在清單設置了android:debuggable="true"並在我的手機上啟用了 USB 調試。

我知道這是一個老問題,但未來的參考。 在帶有 Gradle 的 Android Studio 中:

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

debuggable true對我來說是訣竅。

在 Gradle 1.0 之前,它是runProguard而不是minifyEnabled 這里

確保android:debuggable="true"在清單文件的application標記中設置,然后:

  1. 將手機插入電腦並在手機上啟用 USB 調試
  2. 打開 eclipse 和一個包含應用程序代碼的工作區
  3. 在 Eclipse 中,轉到 Window->Show View->Devices
  4. 查看現在應該可見的設備視圖,您應該會看到您的設備已列出
  5. 如果您的設備未列出,您必須先找到手機的 ADB 驅動程序,然后再繼續
  6. 如果要單步執行代碼,請在應用程序的某處設置斷點
  7. 在手機上打開應用程序
  8. 在“設備”視圖中,展開您的手機條目(如果尚未展開),然后查找您的應用程序包名稱。
  9. 單擊包名稱,在“設備”視圖的右上角,您應該會看到一個綠色錯誤以及許多其他小按鈕。 單擊綠色錯誤。
  10. 您現在應該附加/調試您的應用程序。

除了 Manuel 的方式,你仍然可以使用 Manifest。

在 Android Studio stable 中,您必須在AndroidManifest文件中的application中添加以下 2 行:

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

第一個將啟用已簽名 APK 的調試,第二個將防止編譯時錯誤。

在此之后,您可以通過“將調試器附加到 Android 進程”按鈕附加到該進程。

我嘗試了以下方法並且有效:

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. 使用ApkTool反編譯 Apk(例如apktool d <APK_PATH>
  2. 從反編譯文件中打開 AndroidManifest.xml
  3. application標簽中設置android:debuggable="true"
  4. 使用 ApkTool 編譯修改后的源代碼(例如apktool b <MODIFIED_PATH>
  5. 可調試的 apk 就緒(未簽名表示無法發布存儲)。 您可以根據需要進行調試。

如果您需要運行不可調試的 apk,此答案會有所幫助:

運行已簽名的 apk:

adb install C:\appPath\app\release\app-release.apk

然后將 LogCat 中的下拉列表更改為 Error。

您現在可以看到錯誤。

在此處輸入圖像描述

buildTypes中的release中添加debuggable true並在 Android Studio 的左側Build Variants中打開“release” 來源: https ://mobikul.com/release-variant-of-app-enable-logcat-running-release-build-application /它對我有用! 你能試試嗎

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM