web-dev-qa-db-ja.com

AndroidライブラリモジュールAndroid Studioのデバッグ方法は?

Android Studioプロジェクトにライブラリモジュールが含まれていて、これに別のGradleプロジェクトとして追加されています。ライブラリコードをデバッグしてブレークポイントを設定したいと思います。

エミュレーターまたは実際のデバイスでアプリを実行中にライブラリモジュールをデバッグする場合、どのGradle設定を使用する必要がありますか?


更新1

これはsettings.gradleファイルです:

include ':app'
include':my-library'
10
Farhad Faghihi

苦労して数日後、ライブラリモジュールをデバッグできるようにするための適切な構成を見つけました。

1- Createapplibrary-moduleの2つのモジュールで構成されるプロジェクト

2- 追加library-moduleからappへのモジュール依存関係を直接。これがappのbuild.gradleです。

compile project(':library-module')

3- 削除app build.gradleに追加された自動署名設定

4- 削除applibrary-moduleの両方からこれらの行

minifyEnabled true
shrinkResources true
4
Farhad Faghihi

ライブラリモジュールのデバッグとリリースの両方のビルドタイプをデバッグ可能に設定しました

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        debuggable true
        jniDebuggable true
    }
    debug {
        debuggable true
        jniDebuggable true
        minifyEnabled false
    }
}
3
ossamacpp

私はずっと前にこの問題に直面しました。 Gradleのバージョンによっては、デバッグに設定した場合でも、ライブラリをリリースモードに切り替えます。修正は、gradleを最新に更新することです。それがそれを修正しなかった場合。ライブラリ内では使用しないでください:

if BuildConfig.DEBUG

代わりに:

boolean isDebuggable = ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );
1
Hisham Bakr

私はこのセットアップを使用してライブラリをデバッグしています:

|- myApplication
|  |- settigs.gradle
|  |- build.gradle
|     ...
|- myLibrary
   |- build.gradle
      ...

settings.gradleに追加:

include ':myLibrary'
project(':myLibrary').projectDir = new File(settingsDir, '../myLibrary')

(アプリの)build.gradleに追加

compile project(':myLibrary')

ライブラリは単純に組み込まれ、アプリと同じようにデバッグしてブレークポイントを設定できます。

0
Myon