web-dev-qa-db-ja.com

Android St​​udioでアプリをデバッグできない

Android St​​udioでアプリを作成していますが、adbを介してデバッグしようとしています。 Word Androidと下部バーのロゴをクリックすると、logcatが起動し、デバイスを認識します。それから私はこれを見ます:

screenshot

「デバッグ可能」にするためにアプリに何をする必要がありますか?

参考までに、Eclipseでこのアプリを開発していましたが、adbは正常に機能していました。

70
Andy Roy D.

ツールバーにDebugアイコンがあります。これは小さな「バグ」のように見え、Runアイコン(再生ボタンのように見える)のすぐ隣にあります。それでアプリケーションを起動してみてください。

Click here to debug

編集:Android St​​udioをGradleで使用する場合、以下は非推奨です。

AndroidManifest.xml ファイルにはデバッグフラグもあります。これはアプリケーションタグの下にあり、次のように「true」に設定する必要があります。

<application Android:debuggable="true">
</application>
80
free3dom

次の手順を実行した後、この問題を解決しました。

[ツール] ==> Android ==> ADB統合を無効にして再度有効にします。

その後、デバイスからUSBを取り外し、再度接続します。

最後にShift + F9を押します

107

もう1つ注意する必要があります(私はこれをやったので、知っています)デバッグ用にProguardを有効にしないでください!

26
John Smith

Android St​​udioで何度もデバッグした後でも、この問題はランダムに発生しました。ある日、デバッガーが接続しませんでした。ただAndroid St​​udioを終了し、それを再度開くだけで、デバッガーが再び動作し始めました。

16
Adam Johns

これは私のために働いた:

  1. Android St​​udioを閉じます。
  2. シェルを開き、次のように記述します。

    adb kill-server

    adb start-server

12
limlim
    <application Android:debuggable="true">
</application>

これはもう機能しません!マニフェストでdebuggable = "true"を使用する必要はありません。

代わりに、ビルドバリアントを「デバッグ」に設定する必要があります

Debug Mode

Android St​​udioで、BUILD->Select Variant

デバッグしてみてください。ありがとう

12
itzo

ADB統合が有効になっていることを確認してください。

メニュー:ツール-> Android-> ADB統合を有効にする(v1.0)

11
myfknoll

アプリケーションがデバッグ可能であった場合、突然デバッグできなくなった場合、ここに私のソリューションがあります

  1. 電話機のUSB debugスイッチを無効および有効にします。
  2. アプリケーションをアンインストールします。
  3. [Android St​​udioで実行]をクリックします。
9
Miao1007

Android St​​udioでアプリケーションをデバッグできない場合の1つは、「リリース」ビルドバリアントが選択されている場合です。私に起こった-Gradleはアプリのリリースバージョン(デバッグ不可)をビルドし、Android St​​udioはデバッガーを接続しようとして失敗します。

7
Harri

「Androidプロセスにデバッガをアタッチ」アイコンは、マニフェストファイルでカスタム「Android:process」を設定する場合に使用する必要があります。
私の場合、適切なプロセスを選択し、「デバッガを待つ」ダイアログが表示された直後に「OK」ボタンをクリックする必要があります。
enter image description here

7
user1700099

これは時々私に起こり、私はまだその理由を理解していません。すでに投稿されているソリューションはどれも私にとってはうまくいきませんでした。私のために働く唯一のことはすることです:

  1. デバイスからアプリケーションをアンインストールします。
  2. クリーンプロジェクト。 「ビルド->クリーンプロジェクト」。
  3. 再構築してインストールします。
6
KyleT

デバッグボタンの横のドロップダウンメニューでapp-projectが選択されているかどうかを確認します。時々Android St​​udioはこの選択をリセットするだけです...

enter image description here

4
longilong

有効にする場合

<application Android:debuggable="true">
</application>

アプリケーションmanifest.xmlでは、最終的な署名済みapkを生成するときに、これを無効にすることを確認してください。アプリケーションの1つだけがログを表示しない場合にのみ使用してください。ただし、そのオプションを検討する前にこれを試してください:

Androidスタジオのツールに移動

 Tools==>Android==>disable adb integration and again enable it
3
Santa Teclado

また、Eclipseなど、ADBを使用している可能性のある他のアプリケーションを使用していないことも確認してください。

3
Pedro Oliveira

デバイスまたはエミュレーターで開発者モードとUSBデバッグを有効にしてください。 (新しいものをセットアップするときに忘れがちです。)

2
Ken Root

また、ツール-> Android-> Enable ADB Integrationをアクティブにする必要があります。

2
NSK

以下のコマンドを使用してクリーンビルドを行いました。驚くほどうまくいきました。

sh gradlew cleanビルド

誰かが助けてくれることを願っています!

2
shaiban

私はすべての方法をテストし、それらのどれも働いていませんでした!!!

最終的にadbポートを変更する必要があり、それが機能しました。以下のように最初にadbサーバーを殺します:

adb kill-server

その後、別のポートを使用して再起動します

adb -P 5038 start-server
1
Amir Ziarati

私の場合、テキストファイルproguard-rules.proを完全にクリアし、build.gradleファイルでminifyEnabled falseを作成することにより、デバッグビルドタイプのプロガードを削除する必要がありました。

  debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
1
Sachin K

私の場合、任意の行の近くに赤い円が表示され、十字線と赤い線でメッセージが表示されました:「-...で実行可能コードが見つかりません...」のように Android studio gradle break no 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 "の場合、 。dexファイル内のメソッド参照の数は64k API 17を超えることはできませんbuild.gradleに次の行を追加します。

Android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
    implementation 'com.Android.support:multidex:1.0.2'
}

UPDATE

https://developer.Android.com/studio/build/multidex.html によると、以下のようにしてAndroid 5.0の下でmultidexサポートを有効にします。それ以外の場合、これらのデバイスでは開始されません。

AndroidManifestを開き、タグ<application>を見つけます。 Near Android:name=はApplicationクラスへの参照です。このクラスを開きます。 MultiDexApplicationでアプリケーションクラスを拡張します。

public class MyApplication extends MultiDexApplication { ... }

アプリケーションクラスが設定されていない場合は、次のように記述します。

<application
        Android:name="Android.support.multidex.MultiDexApplication" >
    ...
</application>
1
CoolMind

これで問題が解決しました。デバイスからアプリをアンインストールし、Android studioで再度実行します。

1
Ahmad Behzadi

ここにいくつかの問題があります。logcat出力ウィンドウ(虫眼鏡の付いたテキストボックス)に誤ってフィルターを入力して、忘れてしまうのは簡単です。潜在的にすべての出力を除外し、何も存在しないように見えるもの。

1
Rick Giuly

私の場合、署名されたapkをデバッグしようとしたため、同じ問題が発生しました。私のgradle configでは、異なるビルドバリアントを作成し、プロダクションkeystore.jksでリリースビルドをデバッグしようとしました

0
WorieN
<application Android:debuggable="true">
</application>

上記のコードはもはや解決策ではありません。 build.gradleファイル内でデバッグを有効にする必要があります。異なるbuildTypeがある場合は、ビルドタイプの1つで「debuggable true」を設定してください。これが私のプロジェクトのサンプルコードです。

buildTypes {
    debug {
        debuggable true
    }

    release {
        debuggable false
    }
}

**私はここで私のgradleファイルからこの質問に関係のないbuildTypes内の他の行を削​​除しました。

また、デバッグ中にAndroidスタジオで正しいビルドバリアントを選択してください。

enter image description here

0
Prakash

何年もの間、私はこのスレッドを何度も訪れましたが、私を助けてくれるさまざまな反応が常にありました。今回は、デバッガが正常に動作しないのは私のUSBハブであることがわかりました。奇妙なことに、USBハブ経由でコンピューターに電話を接続する代わりに、Macに直接接続する必要があり、デバッグが機能し始めました。

0
vanomart

私にとっては、Proguardを使用したときに発生したため、すべてのソリューションを試してプロジェクトをクリーンアップし、Android St​​udioのデバッグボタンを押してデバッグを開始しました。

0
Naveed Ahmad

Android St​​udio 3.2.1でうまくいったこと

だった:

RUN -> Attach debugger to Android Process --> com.my app

0
Kevin Amiranoff