2015-11-19 1 views
17

По какой-то причине мне нужно запустить приложение Android в режиме release. Мне нужно запускать код при запуске приложения, как и в режиме отладки. Мои точки разрыва не бьются, когда я запускаю в режиме деблокирования, я добавил android:debuggable="true" в манифест. Тем не менее точка останова не попадает. Любая помощь.Как отлаживать приложение Android в режиме выпуска с помощью студии Android

Заранее спасибо

ответ

6

В моем случае я создал конфигурацию отладки, аналогичную предыдущей сборке, и начал отладку. Это означает, что вы должны давать вывеску в отладочной версии и в градиенте построения.

signingConfigs { 
    config { 
     keyAlias 'abc' 
     keyPassword 'xyz' 
     storeFile file('<<KEYSTORE-PATH>>.keystore') 
     storePassword 'password' 
    } 
} 
buildTypes { 
    debug { 
     debuggable true 
     signingConfig signingConfigs.config 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
    } 
} 

Таким образом, он будет иметь тот же знак, что и сборка выпуска, и вы можете отлаживать его при запуске.

14

В вашем Gradle файла, вы должны добавить отладочную способность в вашем аромате релиза.

> buildTypes { 
>  release { 
>   debuggable true 
>   minifyEnabled false 
>   signingConfig signingConfigs.release 
>   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
>  } 
>  debug { 
>   debuggable true 
>   minifyEnabled false 
>   applicationIdSuffix '.debug' 
>  } 
    } 

signingConfig является конфигурацией релиза он должен быть добавлен в Gradle файла в андроиде {} блок, что-то вроде этого:

signingConfigs { 
     release { 
      keyAlias 'YourAppKey' 
      keyPassword 'somePassword' 
      storeFile file('appkeyfile.jks') 
      storePassword 'somePassword' 
     } 
    } 
+0

благодарит за ваш быстрый ответ. Позвольте мне проверить –

+0

Я добавил это в мою граду построения. Но у меня нет файла signConfigs.release. моя подписьConfig - это подписьConfigs.config. Как я могу создать его для выпуска? –

+0

@ BaziPaleri, ответьте на обновления – once2go

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

счастливого coding.Mark этого ответа up..if это помогает .. :)

+0

спасибо за ваш быстрый ответ. Позвольте мне проверить –

+1

Это есть. Все еще не бьет :( –

0

Нет «режима выпуска». То, что вы называете, это тип сборки, который означает шаги, предпринятые во время строительства (например, минирование и т. Д.). Установка android:debuggable="true" не поможет автоматически, потому что когда вы запускаете приложение вместо «Отладки», вы не подключаете к нему отладчик, поэтому он не остановится по этой конкретной причине.

Таким образом, вы можете настроить свою сборку отладки так же, как и выпуск, но неясно, в чем причина ваших потребностей, и у меня возникло ощущение, что вы пытаетесь пойти не так (то есть отладка обычно не используя ProGuard, в то время как сборка релизов и ProGuard изменяет результирующий двоичный файл, поэтому ваши точки останова из источника не будут работать в любом случае).

Смежные вопросы