Как отлаживать apk, подписанный для выпуска?


У меня есть apk, который я подписал и загрузил на Android Market, и установлен на моем телефоне. Я хотел бы отладить этот релиз apk (с помощью Eclipse), пока он работает на моем телефоне. Я делал это раньше (и помню, что это было с одним из инструментов разработки Android; возможно, Dalvik Debug Monitor), но, к сожалению, не могу вспомнить, как это сделать, и не смог найти никаких статей в интернете. Кто-нибудь знает как это можно сделать?

Примечание: Я есть set android:debuggable="true" в манифесте и включили отладку USB на моем телефоне.

4 67

4 ответа:

будьте уверены, что android:debuggable="true" находится в application тег вашего файла манифеста, а затем:

  1. Подключите телефон к компьютеру и включите отладку USB на телефоне
  2. откройте eclipse и рабочее пространство, содержащее код для вашего приложения
  3. в Eclipse перейдите в окно - > показать вид - > устройства
  4. посмотрите на вид устройства, которые теперь должны быть видны, вы должны увидеть ваше устройство в списке
  5. если ваше устройство не указано, вам придется отследить драйвера ADB для вашего телефона, прежде чем продолжить
  6. если вы хотите пройти через код, установите точку останова где-то в вашем приложении
  7. Откройте приложение на вашем телефоне
  8. в представлении устройства разверните запись для вашего телефона, если она еще не развернута, и найдите имя пакета вашего приложения.
  9. нажмите на имя пакета, и в правом верхнем углу экрана устройства вы должны увидеть зеленую ошибку вместе с рядом других маленьких кнопок. Нажмите кнопку зеленый Жук.
  10. теперь вы должны быть прикреплены / отладки вашего приложения.

Я знаю, что это старый вопрос, но будущие ссылки. В Android Studio с Gradle:

buildTypes {
    release {
        debuggable true
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

строку debuggable true был трюк для меня.

обновление:

С gradle 1.0 это minifyEnabled вместо runProguard. Посмотри на здесь

кроме Мануэля, вы все еще можете использовать Манифест.

В Android Studio stable, вы должны добавить следующие 2 строки в application на AndroidManifest file:

    android:debuggable="true"
    tools:ignore="HardcodedDebugMode"

первый позволит отлаживать подписанный APK, а второй предотвратит ошибку времени компиляции.

после этого вы можете подключиться к процессу с помощью кнопки "прикрепить отладчик к процессу Android".

Я пробовал со следующим, и это сработало:

release {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }