无法在Android设备上调试应用程序 - Android Studio 2.0

时间:2016-04-19 16:07:55

标签: android debugging android-studio-2.0

在我将android studio更新为2.0后,我无法在我的设备(华硕Zenphone 2)上调试应用程序。我在Android工作室点击调试图标后立即在调试选项卡中看到以下消息。

Android Studio UI中调试选项卡中的消息

---------------------------------------------------------------
Waiting for application to come online: packagename
Waiting for application to come online: packagename
Waiting for application to come online: packagename
Waiting for application to come online: packagename

我一直看到警报对话框的标题为“#34;等待调试器"并且一直强制关闭按钮。

我进行了搜索,但似乎只有两条来自谷歌的结果。

我重启了Android工作室,在手机上检查了开发者设置......

有没有人遇到过这个问题。请帮我。我无法运行模拟器,因为我的mac太迟了。提前谢谢。

13 个答案:

答案 0 :(得分:27)

我发现了这个问题。见下图:

Choice

首先我选择第二个选项,它运行正常。但后来不知道为什么我改变选择第一个选项。因此,调试器会永远显示消息Waiting for application to come online。我没有注意到,只是认为另一个应用程序阻止我调试或Android Studio 2.0的问题。

所以,只需检查第二个选项即可解决我的问题。谢谢大家。

答案 1 :(得分:17)

重新启动Android Studios(2.1.1)为我解决了这个问题。

答案 2 :(得分:9)

正确答案是关闭您的Android设备管理器。 在我关闭之前,这些建议都不适合我。

答案 3 :(得分:2)

除了一个解决方案之外,没有什么对我有用......

清除包含配置信息的Intellij IDEA(Android Studio).idea目录:

退出Android Studio 导航到您尝试调试的项目 备份您修改的.idea中的任何文件(如果您的项目将任何这些文件检入VCS) 删除.idea目录 在Android Studio中打开项目

答案 4 :(得分:1)

如果您在模拟器上遇到此问题,则运行adb reconnect为我工作。设备adb reconnect device

有类似的命令

答案 5 :(得分:1)

**

  

这个答案可能对那些成功连接他们的人有所帮助   netbeans NB Android设备但在调试时没有应用程序   出现在设备上。

**

好的解决方法是在移动设置中检查你的Android设备版本最后点击关于设备:你会知道你的Android版本。

现在为您的netbeans android项目选择相同的版本。

右键单击项目名称,单击属性,然后使用与Android设备相同的目标更改目标。

(在我的情况下,android版本是4.4.2所以我选择了相同的项目目标)

在继续之前,点击netbeans中项目标签旁边的服务标签,然后右键点击Android设备,然后点击重启ADB。

最后,您需要再次右键单击项目,然后单击“清除并构建”。

现在你可以带着希望来获得结果。

答案 6 :(得分:0)

我不得不删除参数

relations.values[:where]

来自主要活动。

答案 7 :(得分:0)

我只是想分享我的经验,因为我遇到了同样的错误,因此无法使用你们发布的所有解决方案来解决它。我什至删除了几次我的虚拟设备,无法使其再次运行。

在我的应用中,我拥有一个自定义权限com.example.CUSTOM_PERMISSION,我想用它来保护我的主活动免遭混乱的副手攻击。

    <permission android:name="com.example.CUSTOM_PERMISSION"
            android:label="@string/permlab_deadlyActivity"
            android:description="@string/permdesc_deadlyActivity"
            android:permissionGroup="android.permission-group.COST_MONEY"
            android:protectionLevel="dangerous" />

。 。

    <activity
            android:permission="com.example.CUSTOM_PERMISSION"
            android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

尽管可以成功使用Gradle进行编译和构建,但是android:permission属性以某种方式阻止了我的应用在虚拟设备上的安装和运行。 删除后,一切都很好 我不确定该应用程序是否受到这种方式的保护,我正在构建另一个测试应用程序,以尝试使代理人困惑,并查看自定义的声明是否足够。

希望这可以帮助像我这样生气的人!

答案 8 :(得分:0)

我在Android模拟器中遇到了此问题,方法是转到“工具”->“ AVD管理器”,选择设备,然后右键单击“立即启动”。

答案 9 :(得分:0)

对我有帮助的解决方案是单击将调试器附加到android Process并将调试器设置为java。

答案 10 :(得分:0)

在开始发生这种情况时,请参考我的经验。关于所有这些答案,我尝试了其中的一些,但似乎都没有用。所以我从头开始:

初始设置: -已启用USB调试 -连接到USB时总是提示(我通常仅以充电模式连接) -允许仅在充电模式下进行ADB调试 -等待调试器被禁用 -通过USB启用验证应用

我采取的重新调试步骤:

  • 关闭Android Studio-我并没有像讨论的那样删除.idea文件夹,但是我确定它不会受到伤害。
  • 禁用USB调试
  • 撤销USB调试授权
  • 重新连接设备
$ adb devices
> <Device Id> unauthorized
  • 已启用USB调试
  • 重新连接设备
  • 出现提示时,选择允许(我单击始终允许)
$ adb devices
> <Device Id> device

打开Android Studio并进行调试-应用程序成功启动,我仍然收到5-6条消息,但随后它起作用了:

$ adb shell am start -n "com.exampleapp/com.exampleapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.exampleapp.test | com.exampleapp
Waiting for application to come online: com.exampleapp.test | com.exampleapp
Waiting for application to come online: com.exampleapp.test | com.exampleapp
Connecting to com.exampleapp
Connected to the target VM, address: 'localhost:8600', transport: 'socket'

反应原生

作为旁注-这种情况经常发生,我不确定是从react-native run-android运行还是在Android Studio中进行调试之间来回切换,但是无论我是否必须这样做几次(最终决定记录下来)。

还记得

$ adb reverse tcp:8081 tcp:8081

并在调试时启动打包程序(我往往会忘记)。

答案 11 :(得分:0)

尝试重新启动 ADB。执行终端命令:

adb kill-server
adb start-server

答案 12 :(得分:0)

对我来说,问题出在并排运行的“Android Studio”+“Intellij IDEA”中。已通过在“Intellij IDEA”中禁用捆绑的“Android 插件”来修复。 (注意:问题仅出现在这些 IDE 的某些更高版本中)