2012-01-31 133 views
49

我有一个apk,我已经签署并上传到Android Market,并安装在我的手机上。我想在我的手机上运行时调试此发行版apk(通过Eclipse)。我之前完成了这个工作(并且记住它是与其中一个Android开发工具,可能是Dalvik Debug Monitor),但不幸的是,它不记得如何去做,并且一直无法在线找到任何文章。有谁知道这可以做到吗?如何调试apk签名发布?

注:设置在清单android:debuggable="true"并启用USB调试我的手机上。

+0

什么是你目前正在努力?你不知道如何在Eclipse中使用设备视图? – 2012-01-31 15:32:43

+0

我现在在Eclipse中显示Devices视图。我可以在设备列表中看到我的设备。我点击它,但尽管应用程序在手机上运行且源项目存在并在工作区中打开,但“调试所选进程”按钮仍处于禁用状态。有任何想法吗?! – 2012-01-31 15:43:59

+0

您是否在应用程序的包名上点击? – 2012-01-31 15:48:59

回答

47

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

  1. 将您的手机变成您的计算机和手机上启用USB调试
  2. 打开日食和包含代码为您的应用程序的工作区
  3. 在Eclipse中,去窗口 - >显示视图>设备
  4. 看在设备上查看它现在应该是可见的,你应该可以看到你的设备清单当然d
  5. 如果您的设备没有列出,你必须继续
  6. 之前追踪到你的手机ADB驱动程序如果你想步执行代码,在您的应用程序
  7. 打开设置断点的地方应用程序
  8. 在设备视图中,展开手机的条目(如果尚未展开),然后查找应用程序的软件包名称。
  9. 点击软件包名称,在Devices视图的右上角,您会看到一个绿色的错误以及其他一些小按钮。点击绿色的错误。
  10. 你现在应该连接/调试你的应用程序。
+0

我起床第8步,但由于某种原因,我的应用程序的包名不显示当我运行签名/释放apk。 (奇怪的是,当我直接从Eclipse运行我的手机上的应用程序(调试apk)时显示。)困惑... – 2012-01-31 16:18:56

+2

明白了!我已经将'android:debuggable =“true”'属性放在'manifest'标签中,而不是manifest中的'application'标签了!我的坏处:谢谢Sam_D,非常感谢你的指导,如果没有你,或者充其量只会花费很长时间! – 2012-01-31 16:25:00

+0

OK很酷,很高兴它解决了! – 2012-01-31 16:26:24

72

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

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

debuggable true对我来说是个诡计。

更新:

由于gradle这个1.0是minifyEnabled而不是runProguard。看看here

+5

请注意,从gradle 1.0它是** minifyEnabled **而不是** runProguard ** - 请参阅http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0 – m02ph3u5 2015-11-11 16:35:57

+0

谢谢@ m02ph3u5,回答更新! – 2015-11-12 19:32:23

28

除了曼努埃尔的方式,你仍然可以使用Manifest。

在Android Studio中稳定,您必须将以下两行添加到applicationAndroidManifest文件:

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

第一个将能够签署APK的调试,而第二个将防止编译时错误。

之后,您可以通过“将调试器附加到Android进程”按钮来附加进程。

+1

不适用于我。 – jaibatrik 2016-06-19 14:12:26

+0

@jaibatrik它必须是你的apk,你必须附加调试器的来源。如果你正在做这两个,它仍然无法正常工作,分享更多的信息,我可以尝试以帮助 – sandalone 2016-06-19 20:14:00

+0

我得到了“[致命错误]:7:203:与元素类型”应用程序“关联的属性”工具:忽略“的前缀”工具“没有绑定”Is tools:ignore =“HardcodedDebugMode”合法配置在这里? – 2017-04-28 03:03:56

1

我试着用以下的和它的工作:

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

这个答案已经在这个主题中给出了曼努埃尔洛佩拉......三年前!看到这里:https://stackoverflow.com/a/27181562/1071320 – 2017-09-12 21:49:32

+0

@AdilHussain但我试过这个答案它不适合我。看到'minifyEnabled false'我的答案有所不同,他的情况是'runProguard true'。请参阅更改 – 2017-09-14 09:36:13

+0

不是什么大不了的,但他的答案确实包含了对此效果的更新。无论如何。没什么大不了的。感谢你的回答。 – 2017-09-14 10:07:37

相关问题