Android Studioのデバッガが、ライブラリモジュール内のブレークポイントで停止しない問題
質問
現在、私はサードパーティのコードに基づく Android アプリを開発しています。コードを理解するためにブレークポイントを設定し始めたのですが、すぐに問題にぶつかりました。突然、Android Studio をブレークポイントで停止させることができなくなったのです。
の中でブレークポイントを設定しようとしました。
onCreate
メソッド内、ボタンの
OnClickListener
メソッド内でも、何も機能しませんでした。今、私はそれが動作する唯一の場所は、アプリモジュールの内部であることを発見した。プロジェクトには、appモジュールに1つのアクティビティクラスがあるだけで、他のすべてはライブラリモジュール内で提供されているため、実際にはまったくデバッグすることができません。
AndroidManifest.xml またはおそらく build.gradle ファイルに何か問題があるのだと思います。私は Eclipse から Android Studio に切り替えたばかりなので、この gradle のものはすべて、私にとってかなり新しいものです。
アプリの実行中にライブラリ ブレークポイントにカーソルを置くと、"no executable code [is] found at line ..."と表示されます。これが私の問題の原因であると推測されますが、それを修正する方法についてはまったくわかりません。
build.gradleのエントリの中に、私の問題を引き起こす可能性のある"通常の容疑者"がありますか?
私はすでに私のプロジェクトをクリーンアップし、成功せずにキャッシュを無効にしました。私はさらに、提案された
<activity>
エントリを追加するという提案も試しました。
編集 : 私はAndroid Studioの最新版(2月18日からのバージョン1.1.0)を使用しており、しばらく前に存在した同様のバグが修正されているはずです。
appモジュールのbuild.gradleの内容です。
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion Integer.parseInt(project.MIN_SDK)
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
}
signingConfigs {
release {
keyAlias 'xxx'
keyPassword 'xxx'
storeFile file('xxx')
storePassword 'xxx'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
debuggable false
jniDebuggable false
zipAlignEnabled true
}
debug {
minifyEnabled false
debuggable true
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':firebase_plugin')
}
そして、libraryモジュールのbuild.gradleです。
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion Integer.parseInt(project.MIN_SDK)
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
}
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
minifyEnabled false
debuggable true
}
}
productFlavors {
}
}
dependencies {
// Facebook SDK
compile project(':facebook')
// Used for StringUtils
compile files('libs/commons-lang3-3.3.2.jar')
// Bug tracking
compile files('libs/bugsense-3.6.1.jar')
compile fileTree(include: ['*.jar'], dir: 'libs')
//Google Play Services - For Google Maps
compile('com.google.android.gms:play-services:5.0.89') {
exclude group: 'com.google.android', module: 'support-v4'
}
// Support Library.
compile 'com.android.support:support-v13:18.0.+'
compile('com.android.support:appcompat-v7:19.1.0') {
exclude group: 'com.google.android', module: 'support-v4'
}
// Volley - Networking library from google.
compile('com.mcxiaoke.volley:library:1.0.0') {
exclude group: 'com.google.android', module: 'support-v4'
}
// Has is own support library in it so need to exclude it so no TOP_LEVEL_EXCEPTION will occur.
compile('de.greenrobot:greendao:1.3.0') {
exclude group: 'com.google.android', module: 'support-v4'
}
// Firebase
compile('com.firebase:firebase-simple-login:1.4.2') {
exclude group: 'com.android.support', module: 'support-v4'
}
// Super Toast
compile('com.github.johnpersano:supertoasts:1.3.4@aar') {
exclude group: 'com.android.support', module: 'support-v4'
}
// Croping images
compile('com.soundcloud.android:android-crop:0.9.10@aar') {
exclude group: 'com.android.support', module: 'support-v4'
}
compile('com.github.chrisbanes.actionbarpulltorefresh:library:0.9.9') {
exclude group: 'com.android.support', module: 'support-v4'
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':firebase_plugin')
}
<イグ
どのように解決するのですか?
この問題のコメントで述べられているように
minifyEnabled false
をデバッグビルドで設定することがベストプラクティスです。この変数を app モジュールに設定することで、proguard のビルド プロセス全体が無効になります。これはリリースビルドを最適化するときに便利ですが、テストや開発をしている場合はいくつかの問題を引き起こします。
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] Android Studioにライブラリプロジェクトを追加する方法を教えてください。
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] AppCompat-v7 21でアクションバー/ツールバーにアイコンを表示する。
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] Android Studio - あいまいなメソッド呼び出し getClass()
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] グリッドビューの高さが削減される
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] アンドロイドボタンセレクター