如何调试apk签名发布?

时间:2012-01-31 15:11:07

标签: android google-play

我有一个apk,我已经签名并上传到Android Market,并安装在我的手机上。我想在我的手机上运行时调试此版本apk(通过Eclipse)。我以前做过这个(并记住它是使用Android开发工具之一;也许是Dalvik Debug Monitor),但遗憾的是它不记得如何做到这一点并且无法在线找到任何文章。有谁知道如何做到这一点?

  

注意:中设置了android:debuggable="true"并在手机上启用了USB调试。

7 个答案:

答案 0 :(得分:104)

我知道这是一个老问题,但未来的参考。在带有Gradle的Android Studio中:

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

debuggable true对我来说很有用。

<强>更新

从gradle 1.0开始,它是minifyEnabled而不是runProguard。看here

答案 1 :(得分:61)

确保在清单文件的android:debuggable="true"标记中设置application,然后:

  1. 将手机插入电脑并在手机上启用USB调试
  2. 打开eclipse和包含应用程序代码的工作区
  3. 在Eclipse中,转到Window-&gt; Show View-&gt; Devices
  4. 查看现在应该可见的“设备”视图,您应该会看到列出的设备
  5. 如果您的设备未列出,则在继续操作之前,您必须追踪手机的ADB驱动程序
  6. 如果您想逐步执行代码,请在应用中的某个位置设置断点
  7. 在手机上打开应用
  8. 在“设备”视图中,展开手机的条目(如果尚未展开),并查找应用的手机名称。
  9. 单击软件包名称,在“设备”视图的右上角,您会看到一个绿色错误以及许多其他小按钮。点击绿色小虫。
  10. 您现在应该连接/调试您的应用。

答案 2 :(得分:37)

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

在Android Studio stable中,您必须在application文件中将以下两行添加到AndroidManifest

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

第一个将启用已签名APK的调试,第二个将阻止编译时错误。

在此之后,您可以通过“将调试程序附加到Android进程”按钮附加到该进程。

答案 3 :(得分:8)

我试着使用以下内容并且它起作用了:

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

答案 4 :(得分:3)

将以下内容添加到您的应用程序build.gradle中,然后选择指定的发行版变体并运行

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

答案 5 :(得分:1)

如果您决定调试 your apk,它已经在市场上出售,但没有分配为可调试的,并且您不想再次发布它。因此,请按照以下步骤操作;

  1. 使用ApkTool(例如apktool d <APK_PATH>)反编译Apk
  2. 从反编译文件中打开AndroidManifest.xml
  3. android:debuggable="true"标签中设置application
  4. 使用ApkTool编译修改后的源代码(例如apktool b <MODIFIED_PATH>
  5. 可调试apk就绪(未签名意味着无法发布存储)。您可以根据需要进行调试。

答案 6 :(得分:0)

如果您需要运行不可调试的 apk,此答案会有所帮助:

运行已签名的 apk:

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

然后将 LogCat 中的下拉列表更改为 Error。

您现在可以看到错误。