Android Studioでアプリを作成していますが、adbを使用してデバッグしようとしています。Androidという単語と下部のバーのロゴをクリックすると、logcatが表示され、デバイスが認識されます。それから私はこれを見ます:
アプリを「デバッグ可能」にするには、アプリに何をする必要がありますか?
参考までに、以前はEclipseでこのアプリを開発していましたが、adbは正常に機能していました。
Android Studioでアプリを作成していますが、adbを使用してデバッグしようとしています。Androidという単語と下部のバーのロゴをクリックすると、logcatが表示され、デバイスが認識されます。それから私はこれを見ます:
アプリを「デバッグ可能」にするには、アプリに何をする必要がありますか?
参考までに、以前はEclipseでこのアプリを開発していましたが、adbは正常に機能していました。
回答:
ツールバーにデバッグアイコンがあります。それは小さな「バグ」のように見え、実行アイコン(再生ボタンのように見えます)のすぐ隣にあります。それでアプリケーションを起動してみてください。
編集:Android StudioをGradleで使用する場合、以下は非推奨になります。
AndroidManifest.xmlファイルにはデバッグフラグもあります。これはアプリケーションタグの下にあり、次のように「true」に設定する必要があります。
<application android:debuggable="true">
</application>
File
-> Settings
-> Keymap
-からさまざまなデバッグキーボードショートカットを設定することもできます。これらはMain menu
->の下にありRun
ます。詳細については、これを参照してください。
次の手順を実行した後、この問題を解決しました。
Tools ==> android ==> Disable ADB Integrationに移動し、再度有効にします。
その後、USBをデバイスから取り外し、再度接続します。
最後にShift + F9を押します
注意すべきもう一つのこと(私はこれをしたので、私は知っています、当たり前です)。デバッグ用にProguardを有効にしないでください!
これは私のために働いた:
シェルを開き、次のように記述します。
adb kill-server
adb start-server
adb reconnect
コマンドが、それはAS 3.1にはもうこれを実行しない(多分私は何かを間違っているのか、十分ではありませんよ?
有効にした場合
<application android:debuggable="true">
</application>
アプリケーションmanifest.xmlで、最終的な署名付きapkを生成するときに必ず無効にしてください。これは、攻撃者のセキュリティの抜け穴として機能する可能性があるためです。アプリケーションの1つだけがログを表示しない場合にのみ使用してください。ただし、そのオプションを検討する前に、これを試してください。
AndroidStudioのツールに移動します
Tools==>android==>disable adb integration and again enable it
私はすべての方法をテストしました、そしてそれらのどれもうまくいきませんでした!!!
最終的にadbポートを変更する必要があり、それは機能しました。最初に以下のようにadbサーバーを強制終了します。
adb kill-server
次に、別のポートを使用して再起動します
adb -P 5038 start-server
以下のコマンドを使用してクリーンビルドを行いました。驚くほどうまくいきました。
shgradlewクリーンビルド
うまくいけば、誰かが助けを得る!
私の場合、任意の行の近くに、Android Studio Gradleブレークポイントのように、「行に実行可能コードが見つかりません...」というメッセージが表示された十字と赤い線が付いた赤い円が表示されました。
の更新後に問題が発生しました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 API17を超えることはできません。次の行を次のように追加しますbuild.gradle
。
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.2'
}
更新
https://developer.android.com/studio/build/multidex.htmlによると、Android 5.0より下のマルチデックスサポートを有効にするには、次の手順を実行します。それ以外の場合は、これらのデバイスでは起動しません。
AndroidManifest
タグを開いて検索します<application>
。Nearandroid:name=
は、Applicationクラスへの参照です。このクラスを開きます。次のMultiDexApplication
ようにアプリケーションクラスを拡張します。
public class MyApplication extends MultiDexApplication { ... }
アプリケーションクラスが設定されていない場合は、次のように記述します。
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
私の場合、Proguardを使用したときに発生したので、すべてのソリューションを試して、プロジェクトをクリーンアップし、Android Studioのデバッグボタンを押して、デバッグを開始しました
<application android:debuggable="true">
</application>
上記のコードはもはや解決策ではありません。build.gradleファイル内でデバッグを有効にする必要があります。異なるbuildTypeがある場合は、ビルドタイプの1つで「debuggabletrue」を設定してください。これが私のプロジェクトの1つからのサンプルコードです。
buildTypes {
debug {
debuggable true
}
release {
debuggable false
}
}
**ここのgradleファイルから、この質問に関係のないbuildTypes内の他の行を削除しました。
また、デバッグを行う際には、AndroidStudioで正しいビルドバリアントを選択していることを確認してください。