2016-04-26 7 views
8

アンドロイドスタジオ2.0を使用しています。前回jdk 7をjdk 8にアップグレードしましたが、ファイルgradleにいくつか変更を加えましたが、今はこのエラーが発生しますこのエラーを解決するにはVFY:仮想メソッドを解決できません

E/InstantRun: Could not find slices in APK; aborting. 
I/dalvikvm: Could not find method android.content.Context.getSystemService, referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve virtual method 435: Landroid/content/Context;.getSystemService (Ljava/lang/Class;)Ljava/lang/Object; 
D/dalvikvm: VFY: replacing opcode 0x6f at 0x004b 
I/dalvikvm: Could not find method android.app.Activity.stopLockTask, referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve virtual method 231: Landroid/app/Activity;.stopLockTask()V 
D/dalvikvm: VFY: replacing opcode 0x6f at 0x00b9 
E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve check-cast 224 (Landroid/os/PersistableBundle;) in Lcom/mstr/malik/elbalaapps/ControlPanel; 
D/dalvikvm: VFY: replacing opcode 0x1f at 0x00f1 
I/dalvikvm: Could not find method android.content.Context.getColorStateList, referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve virtual method 417: Landroid/content/Context;.getColorStateList (I)Landroid/content/res/ColorStateList; 
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0101 
I/dalvikvm: Could not find method android.app.Activity.onVisibleBehindCanceled, referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve virtual method 154: Landroid/app/Activity;.onVisibleBehindCanceled()V 
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0111 
I/dalvikvm: Could not find method android.app.Activity.onWindowStartingActionMode, referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve virtual method 158: Landroid/app/Activity;.onWindowStartingActionMode (Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode; 
D/dalvikvm: VFY: replacing opcode 0x6f at 0x0137 
E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.mstr.malik.elbalaapps.ControlPanel.access$super 
W/dalvikvm: VFY: unable to resolve check-cast 224 (Landroid/os/PersistableBundle;) in Lcom/mstr/malik/elbalaapps/ControlPanel; 
D/dalvikvm: VFY: replacing opcode 0x1f at 0x019a 

アンこれはGradleのファイル、私はエラーを処理するにはどうすればよい

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "24.0.0 rc3" 

    defaultConfig { 
     applicationId "com.mstr.malik.elbalaapps" 
     minSdkVersion 18 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.3.0' 
} 

ですが、私はにコンパイルコンパイル「com.android.support:appcompat-v7:23.3.0」のバージョンをchanfeしようとしています'com.android.support:appcompat-v7:23.0.0'をコンパイルしてもクラッシュします。どうすればいいですか? ありがとうございました

答えて

9

実行時にAndroidバージョンをチェックインする場合は、この警告を無視しても問題ありません。これは、コードが現在実行されているプラ​​ットフォームでは利用できないメソッドへの参照があることを意味します。古いプラットフォームで新しいAPIを使用しないようにするだけです。リリースビルドで何か問題があると、通常はlintが警告します。それを心に留めておく限り、心配する必要はありません。ちょうどそのようなランタイムスイッチの一例として

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    // You can use here an API which was added in Lollipop. 
} 
+0

ありがとうあなたの援助に感謝します –

+0

私の場合は動作しますが、アプリケーションの読み込みに時間がかかります(3または4秒)。それを解決する方法はありますか?それとも少なくとも回避策ですか? – Gatunox

3

これはGoogleのAndroidのエンジニアによると、通常です。

はあなたが展開され、デバイスAPIレベルよりも高いAPIレベルに対してコンパイル時にこれが起こるhttps://code.google.com/p/android/issues/detail?id=198567

を参照してください。ログは、メソッドのいくつかが利用できず、仮想マシンがそれらを代替実装に置き換えることを示しています。

Brで、 ニック

1

私は同じ警告して、致命的なNoClassDefFoundErrorがあります。問題は、android-pluginのmulti-dexモードでdex生成ファイルから出ることができます。見つけられなかったクラスはすべて1つのパッケージに含まれていました。パッケージは2つのdex-filesに分割されています。解決策は、MainDexListファイルを生成しているところです。ここでは、dex-fileに結合された未解決のクラスのみが含まれています。詳細はhereを参照してください。

関連する問題