我正在Android Studio中制作应用,现在尝试通过adb进行调试。当我点击Android上的单词和底栏上的徽标时,会出现logcat并识别我的设备。然后我看到了这个:
我需要对我的应用做些什么才能使其“可调试”?
FYI之前在Eclipse中开发此应用程序,adb工作正常。
答案 0 :(得分:107)
我在执行以下步骤后解决了这个问题:
转到工具==> android ==>禁用ADB集成并再次启用它。
之后,从设备上拔下USB,然后重新插入。
最后按shift + F9
答案 1 :(得分:76)
工具栏上有一个调试图标。它看起来像一个小“bug”,位于运行图标旁边(看起来像一个播放按钮)。尝试用它启动应用程序。
编辑:使用带有Gradle的Android Studio时不推荐使用以下内容。
AndroidManifest.xml文件中还有一个调试标志。它位于应用程序标记下,应设置为“true”,如下所示:
<application android:debuggable="true">
</application>
答案 2 :(得分:26)
另外要注意的事情(我这样做,所以我知道,呃)。一定不要启用Proguard进行调试!
答案 3 :(得分:15)
即使在Android Studio中多次调试后,我也随机出现了这个问题。有一天调试器就不会附加了。我只是不得不退出Android Studio并重新打开它,调试器再次开始工作。
答案 4 :(得分:11)
这对我有用:
打开shell,然后写:
adb kill-server
adb start-server
答案 5 :(得分:11)
确保已启用ADB集成。
在菜单中:工具 - &gt; Android - &gt;启用ADB集成 (V1.0)
答案 6 :(得分:10)
<application android:debuggable="true">
</application>
这不再有效!无需在清单中使用debuggable =“true”。
相反,您应该将Build Variants设置为“debug”
在Android Studio中,转到构建 - &gt; 选择构建变体
现在尝试调试。感谢
答案 7 :(得分:9)
如果您的应用程序曾经是可调试的,并且突然间它不再可调试。这是我的解决方案
USB debug
开关。答案 8 :(得分:7)
在Android Studio中无法调试应用程序的一种情况是选择了“发布”构建变体。发生在我身上 - Gradle构建了应用程序的发布版本(不可调试),然后Android Studio在尝试连接调试器时失败。
答案 9 :(得分:7)
将调试程序附加到Android进程“图标应该用于您在清单文件中设置自定义”android:process“的情况。
在我的情况下,我应该选择合适的过程,然后在出现“Wait for debugger”对话框后单击OK按钮。
答案 10 :(得分:6)
这偶尔发生在我身上,我还没弄明白为什么。已经发布的解决方案都没有对我有用。唯一对我有用的是:
答案 11 :(得分:4)
答案 12 :(得分:3)
如果启用
<application android:debuggable="true">
</application>
在应用程序 manifest.xml 中,请确保在生成最终签名的apk时禁用它,因为这可以作为攻击者的安全循环漏洞。 仅在您的一个应用程序未显示日志时才使用它。但是在考虑这个选项之前试试这个:
导航到android studio中的工具
Tools==>android==>disable adb integration and again enable it
答案 13 :(得分:3)
另外请确保您没有使用其他可能正在使用ADB的应用程序,例如Eclipse。
答案 14 :(得分:2)
确保在设备或仿真器上启用开发人员模式和USB调试。 (设置新的时容易忘记。)
答案 15 :(得分:2)
您还应该拥有工具 - &gt; Android-&gt;启用ADB集成。
答案 16 :(得分:2)
答案 17 :(得分:2)
我使用下面的命令清理了构建..令人惊讶的工作。
sh gradlew clean build
希望有人得到帮助!
答案 18 :(得分:1)
这解决了我的问题。 从设备上卸载应用程序并通过Android studio再次运行。
答案 19 :(得分:1)
答案 20 :(得分:1)
在我的情况下,必须通过完全清除文本文件proguard-rules.pro
并在build.gradle文件中创建minifyEnabled false
来删除调试构建类型中的proguard
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
答案 21 :(得分:1)
在我的情况下,在任何一行附近出现一个红色圆圈,其中有一条十字和红线,并显示一条消息:“在行中找不到可执行代码......”,如Android studio gradle breakpoint No executable code found at line中所示。
更新build.gradle
后出现问题。我们包括Kotlin支持,因此许多方法超过了64K。问题线:
buildTypes {
debug {
minifyEnabled true
将它们更改为:
buildTypes {
debug {
minifyEnabled false
debuggable true
然后将gradle与“使用Gradle文件同步项目”按钮同步。如果在重新启动应用程序后,您将收到错误:“错误:.dex文件中的方法引用数不能超过64K。了解如何在https://developer.android.com/tools/building/multidex.html处解决此问题”,然后像{{3将以下行添加到build.gradle
:
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.2'
}
<强>更新强>
根据The number of method references in a .dex file cannot exceed 64k API 17执行以下操作以启用Android 5.0以下的multidex支持。否则它不会在这些设备中启动。
打开AndroidManifest
并找到标记<application>
。近android:name=
是对Application类的引用。打开这堂课。使用MultiDexApplication
扩展Application类,所以:
public class MyApplication extends MultiDexApplication { ... }
如果没有设置Application类,请写:
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
答案 22 :(得分:1)
我测试了所有方法,但没有工作!!!
最后不得不改变adb端口并且它有效。首先杀死adb服务器,如下所示:
adb kill-server
然后使用另一个端口
重新启动它adb -P 5038 start-server
答案 23 :(得分:0)
对我来说,它发生在我使用Proguard时,所以通过尝试所有解决方案,我清理了我的项目并按下Android Studio上的调试按钮,它开始调试
答案 24 :(得分:0)
在我的情况下,我有同样的问题,因为我尝试调试签名的apk。在我的gradle配置中,我创建了不同的构建变体,并尝试使用生产keystore.jks调试发布版本
答案 25 :(得分:0)
<application android:debuggable="true">
</application>
上面的代码不再是解决方案。您需要在build.gradle文件中启用调试。如果您使用不同的buildType,请确保在其中一种构建类型中设置“ debuggable true”。这是我的一个项目的示例代码。
buildTypes {
debug {
debuggable true
}
release {
debuggable false
}
}
**我已从我的gradle文件中删除了与该问题无关的buildTypes中的其他行。
还要确保在进行调试时在android studio中选择正确的构建版本。
答案 26 :(得分:0)
在Android Studio 3.2.1中对我有用的东西
原是:
RUN -> Attach debugger to Android Process --> com.my app
答案 27 :(得分:0)
这些年来,我已经多次访问此主题,并且总是有不同的回答对我有所帮助。这次我发现是USB集线器阻止了调试器正常工作。听起来很奇怪,我没有直接通过USB集线器将手机连接到计算机,而是不得不将其直接连接到Mac并开始调试。
答案 28 :(得分:0)
这里有一些小哎呀可能会抓到一些:很容易意外地为logcat输出窗口输入过滤器(带放大镜的文本框)而忘了它。这可能会过滤掉所有输出并使其看起来像什么都没有。
答案 29 :(得分:0)
从android studio重新启动adb服务器:工具->“ 故障排除设备连接”
答案 30 :(得分:0)
使用Gradle文件同步项目,这会有所帮助。
答案 31 :(得分:0)
就我而言,我试图从QA版本进行调试。将构建变体更改为“调试”,它应该可以工作。
要更改构建变体,请单击左下方名为“构建变体”的菜单
如果此菜单在您的IDE中不可用,则可以执行以下操作。
答案 32 :(得分:0)
答案 33 :(得分:0)
我的问题是:
这对我有帮助: 就在“制作项目/构建”按钮之后,有“选择运行/调试配置”> 转到“编辑配置” 配置如图所示。 然后我的调试器开始工作。
答案 34 :(得分:-3)
我有同样的问题,我通过谷歌尝试了几乎所有类型的解决方案。但我不能 解决这个问题。最后,我找到了解决方案。这是Android Studio Bug。
请勿点击Run
(Alt + F10)
- 只需点击Debug
(Shift + F9)
。
然后Android Studio会显示ADB的警告信息,然后点击“确定”。
您可以在logcat控制台中看到登录。包将显示在DDMS(设备)上。