10

現在、Eclipse からデバイスで Android アプリケーションをデバッグしようとしています。

デバイスが追加されました。コンソールと Eclipse の両方で確認できます。コンソール (Windows) :

adb devices
List of devices attached
0019cca27f2e6e  device

そして日食:

ここに画像の説明を入力

デバイス/シミュレーターの両方で問題なくアプリを実行できます。私はただやってclean installandroid:deploy続いてandroid:run、魅力のように働きます。しかし、私はそれをデバッグする方法をまだ理解できません。

com.viber.voipしかし、実際にデバイス (Samsung galaxy SII) でアプリを実行すると、これら 2 つのプロセスが実行されていることしか確認できず、実行しcom.viber.voip:keepAliveReceiverてもアプリが表示されません。ただし、シミュレーター/エミュレーターでは、アプリが実行されていることがわかります。

私はこの資料を調べました:

Android Mavenプラグインを使用したアプリの起動のデバッグ

Maven を使用してコマンドラインでアプリケーションを起動する方法

http://code.google.com/p/maven-android-plugin/wiki/Debug

コードを壊すことはできません。下のスクリプトを呼び出してデバッグを開始しようとしてもmaven-exec-plugin、 pom のプラグインは次のとおりです。

<plugin>
            <artifactId>exec-maven-plugin</artifactId>
        <groupId>org.codehaus.mojo</groupId>
        <configuration>
            <executable>${basedir}/scripts/debug_app.cmd</executable>
        </configuration>
</plugin>

の内容debug_app.cmd:

adb shell am start -D android.intent.action.MAIN -n my.package.name/.HelloAndroidActivity

このプラグインを実行すると、次のエラーが発生します。

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=android.intent.action.MAIN }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=android.intent.action.MAIN }

manifest.xmlこれが必要な場合は次のとおりです。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.SET_DEBUG_APP" >
</uses-permission>

<!-- <uses-permission android:name="android.permission.INTERNET" /> -->

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <activity android:name=".HelloAndroidActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".DisplayMessageActivity" >
    </activity>
</application>

アプリをビルドするためにmavenを使用してデバイスをデバッグできた人はいますか?

質問の更新:

アプリを追加した後、android:debuggable="true"[デバイス] タブに表示されましたが、別の問題が発生しました (下の緑色のデバッグ アイコンをクリックすると)。

下記を参照してください :

ここに画像の説明を入力

私はこの回避策を見つけました(正しい答えに加えて解決策)

http://code.google.com/p/android/issues/detail?id=9932

そして、私は以下の答えを受け入れました。同様に役立つかもしれません:

https://groups.google.com/forum/?fromgroups#!topic/android-developers/DftP5gYcwYI

4

2 に答える 2

3

追加

android:debuggable="true"

デバイスで「USBデバッグ」をマニフェストしてオンにします。

http://developer.android.com/tools/device.html#setting-up

于 2012-07-05T13:58:27.663 に答える
2

私のやり方は、

  1. AndroidManifest.xml ファイルでデバッグ フラグを有効にします。
  2. アプリをデバイスにデプロイします。Eclipse デバッグ マネージャーでアプリケーションのプロセス ID が表示されるはずです。
  3. ここで、Eclipse の実行/構成メニューでリモート Java アプリケーションの実行/デバッグ構成を構成します。
  4. 構成のすべての詳細を入力します。ポート番号は、添付画像の 3 列目になります。
  5. デバイスでアプリケーションを起動した後、Eclipse で「リモート Java アプリケーション構成を実行」します。
  6. アプリケーションは、ブレークポイントがあればヒットするはずです。
于 2012-07-05T13:58:38.357 に答える