2016-10-12 86 views
32

上でデバッグするとき、私は、私はAPIレベル21に対してコンパイルしていますアプリがあります。 enter image description hereのソースコードはバイトコードと一致していません "デバイス

、その後、APIレベル23で、実際のデバイス上でそれをデバッグする:

enter image description here

問題は、私は、Android OSの独自のクラスを介してデバッグしようとしたとき、私は「ソースコードはバイトコードと一致していません」を取得です。なぜこうなった?アプリが実行されているテストデバイスはAPIレベル23で、デバッグ中のソースファイルもレベル23です。 *enter image description here*

私は本当に混乱しています。なぜこのメッセージが表示され、どのように修正できるのか誰にも説明できますか?

+0

あなたのデバイスのapkが現在のコードより古いか、違うようです。私はその明白な知っているが、一度アプリをアンインストールして、もう一度インストールしてみましたか? –

+2

IDEのIntellij IDEAプラグインにエラーがあるようです。 https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+2016.2+162.1812.2+Release+Notesでバグが報告されています。あなたはそれを通り抜けていただけますか? –

+0

@Akash私はそれを試みました。しかし、私がデバッグしているファイルは、私のアプリではなく、Android OS(ContentResolver)の一部です。 – Crocodile

答えて

16

一部のユーザーは可能な解決策を与えているAOSP、このための未解決の問題があります:(この記事の日付のもの)が挙げ https://code.google.com/p/android/issues/detail?id=225199&sort=-id&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

潜在的な解決策は以下のとおりです。

  • をクリックして、 [設定でビルド - >クリーン
  • 無効にインスタント実行、>、実行を構築し、プロジェクト設定への展開
+4

このリンクのインスタント・ランまたは他のソリューションを無効にしても私にとっては効果がありません。 – mister270

+0

@ mister270別の解決策を見つけましたか?私はこの問題に再び遭遇したことがないので、デバッグして答えを広げるのは難しいです。 –

+1

私は最小限のsdkをアップして、クリーンな再構築を行い、問題を「遠ざける」ようにしました。しかし、私は古いmin sdkを望んでいたので、私はこの解決策に満足していません。 – mister270

0

ゴー>アーティファクト。問題のある案件を選択します。 「プロジェクトビルドに含める」というオプションがあります。これをチェックする(有効にする)必要があります。旧バージョンのIntelliJの場合、このオプションは「Make on build」です。

3

Gradleを使用する場合は、おそらくGradleキャッシュに問題があります。 (Reference)。悲しいかな、あなたが走っても

gradle --refresh-dependencies 

実際にはすべての依存関係がリフレッシュされていません。ごみは残っています。 (Reference)。

したがって、最も確かな(しかし徹底的で長い)方法は、[user] /。gradle/cacheからすべての内部をクリアすることです。または、そこに問題のあるプロジェクトを見つけて、そのキャッシュだけをクリアします。

0

おそらく、このエラーメッセージに複数の原因がある可能性があります。私のケースはOPのものと似ていませんでした。私のケースでは、追加のライブラリが必要な第三者のライブラリが原因でした。

たとえば、手動でX.jarをLIBに追加しますが、このX.jarにはZ.jarが必要です。

いつかメッセージが役に立たなかったことがわかりました。クラッシュするクラスに到達するまでアプリをデバッグしなければならず、そのクラスですべてのインポートが満たされていることを確認してください。

(Particualry:私はコモンズ-httpclient.jarを必要とMercadoLibre-0.3.4.jarを追加)

は、この情報がお役に立てば幸い!

2

compileSdkVersionと同じAPIレベルのAndroidエミュレータを使用する必要があります。 あなたの場合は、APIレベル21のAndroidエミュレータを使用する必要があります。

+0

これは私のために働いた。私のデバイスはAPI 22だったので、compileSdkVersionを22に設定すると問題は解決しました。 –

関連する問題