Android Studioプロジェクトにライブラリモジュールが含まれていて、これに別のGradleプロジェクトとして追加されています。ライブラリコードをデバッグしてブレークポイントを設定したいと思います。
エミュレーターまたは実際のデバイスでアプリを実行中にライブラリモジュールをデバッグする場合、どのGradle設定を使用する必要がありますか?
更新1
これはsettings.gradleファイルです:
include ':app'
include':my-library'
苦労して数日後、ライブラリモジュールをデバッグできるようにするための適切な構成を見つけました。
1- Createappとlibrary-moduleの2つのモジュールで構成されるプロジェクト
2- 追加library-module
からapp
へのモジュール依存関係を直接。これがapp
のbuild.gradleです。
compile project(':library-module')
3- 削除app
build.gradleに追加された自動署名設定
4- 削除app
とlibrary-module
の両方からこれらの行
minifyEnabled true
shrinkResources true
ライブラリモジュールのデバッグとリリースの両方のビルドタイプをデバッグ可能に設定しました
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
debuggable true
jniDebuggable true
}
debug {
debuggable true
jniDebuggable true
minifyEnabled false
}
}
私はずっと前にこの問題に直面しました。 Gradleのバージョンによっては、デバッグに設定した場合でも、ライブラリをリリースモードに切り替えます。修正は、gradleを最新に更新することです。それがそれを修正しなかった場合。ライブラリ内では使用しないでください:
if BuildConfig.DEBUG
代わりに:
boolean isDebuggable = ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );
私はこのセットアップを使用してライブラリをデバッグしています:
|- myApplication
| |- settigs.gradle
| |- build.gradle
| ...
|- myLibrary
|- build.gradle
...
settings.gradleに追加:
include ':myLibrary'
project(':myLibrary').projectDir = new File(settingsDir, '../myLibrary')
(アプリの)build.gradleに追加
compile project(':myLibrary')
ライブラリは単純に組み込まれ、アプリと同じようにデバッグしてブレークポイントを設定できます。