Android应用程序包不可调试

21

我在AndroidManifest.xml中明确将我的应用程序设置为可调试,并通过eclipse部署到设备上,但我仍然遇到了

run-as: Package 'com.mypackage' is not debuggable

当我运行以下命令时:

adb -d shell 'run-as com.mypackage cat /data/data/com.mypackage/databases/mydb.db > /sdcard/mydb.db'

我需要改变什么才能够调试我的应用程序?


1
你是否已经构建/导出发布版本?https://dev59.com/MG455IYBdhLWcg3wCPfh - zapl
1
不,我没有进行发布版本构建。 - Green Ho
我遇到了一个类似的问题,不过更加好奇问题的其他方面。我有我的设备日志在_data/data/package-name_中,需要进行调查。我可以在_device-1_上访问此文件,但是在_device-2_上却不能访问,即使我在两者上都使用相同的apk。在设备文件浏览器中,对于_device-2_显示run-as package not debuggable。这让我想到我们可以通过某种方式更改设备设置来访问此区域。有什么想法吗? - Fatih
4个回答

6
你在测试时使用的是发布版apk还是调试版apk?如果你正在使用发布版apk,你将无法获取访问权限。我建议你直接从Android Studio构建应用程序(请记住,在Android Studio中,您的Build Variant必须是debug),并尝试使用命令run-as"your.package.name"

4
如果您确定已经使用 debuggable=true 构建了 AndroidManifest.xml,那么卸载应用程序可能有效(注意:这将清除该应用程序的所有数据)。
adb uninstall your.package.name

AndroidManifest.xml似乎在某些情况下比较棘手,原因我并不完全理解。我遇到这种情况是由于我最初安装的是非调试APK文件,然后稍后再侧面安装了一个可调试的APK文件。


嗨,抱歉打扰一下。我在数学聊天室看到了你的个人资料图片(一只飞行的羊?:D),请问这是从哪里来的? - user9802913
嗨,我改了我的个人资料,但是它是一只 tardigrade - 一种微小的动物,也被称为“水熊”,可以在真空中存活一段时间。 - Michael Chinen

1

就像 @prudhvi所说的那样,这可以通过将构建变量设置为debug来解决。

enter image description here


-4

尝试将您的包名称更改为com.my.pack.age,因为似乎存在小于4个级别的包名称问题。还要确保在/data/system/packages.list中提到了该包。信息取自此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接