2017-10-26 2 views
8

私のプロジェクトに問題があります。私はそれを修正する方法を知らない。これは私が初めて会う時です。エラーフォントの取得Landroid/content/Context; ILandroid/util/TypedValue

/UncaughtException: java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)Landroid/graphics/Typeface; in class Landroid/support/v4/content/res/ResourcesCompat; or its super classes (declaration of 'android.support.v4.content.res.ResourcesCompat' appears in /data/app/codes.trongtin.h.besttrip-2/split_lib_dependencies_apk.apk:classes2.dex)

+0

おそらく、間違ったバージョンのライブラリを使用している可能性があります。 –

+0

私も同じ問題に直面しています今日は私のアンドロイドスタジオをその後から更新しました。私は問題に直面しています –

+0

サポートライブラリのv27に移動した後も同じ問題がありました。 –

答えて

0

あなたはサポートライブラリを使用しているので、使用ResourcesCompat

Typeface typeFace= ResourcesCompat.getFont(getActivity(),R.font.roboto); 

これはあなたの問題を解決します。

あなたはAPIレベル26をサポートしたい場合は、あなた以上

は、それはあなたのサポートの依存関係を使用しているようだ

Typeface typeface = getResources().getFont(R.font.myfont); 
+0

xmlレイアウトで問題が表示されているのは、単純にsetContentView(R.layout.main)です。レイアウトからTextviewを削除しても、問題が表示されず正常に動作していればしかし、私はTextviewが必要ですこれを解決するにはどうすれば –

+0

あなたはandroid studio 3.0を使用していますか? –

+0

私の場合は、バージョン27.0.2を使用しています。そしてまだ生きています – Godwin

20

使用することができます。 ビルドツールのバージョンがサポートされているバージョンと同じであることをアプリに確認してください。例えば

android { 
... 
    buildToolsVersion "26.0.2" 
... 
} 

dependencies { 
... 
    compile 'com.android.support:support-v4:26.0.2' 
    compile 'com.android.support:appcompat-v7:26.0.2' 
    compile 'com.android.support:recyclerview-v7:26.0.2' 
    compile 'com.android.support:support-v13:26.0.2' 
... 
} 

が同じバージョンを持っている必要があります。

私のために働いた!

1

このエラーは、サポート依存関係のバージョンに不一致がある場合に発生します。このエラーを回避するために考慮すべき 2物事:

  1. は、あなたがすべてのサポートライブラリはまったく同じバージョン
4

だけ変更complieSdkVersionでなければなりませんcompileSdkVersion 27

  • の最新バージョンを使用していることを確認してくださいbuildToolsVersionとappCompatの依存関係です。

     compileSdkVersion 27 
         buildToolsVersion '27.0.0' 
    
         implementation 'com.android.support:appcompat-v7:27.0.2' 
    
  • 1

    正しい答えは@ agustin-ruiz-linaresです。

    ここで私の設定をFirebaseとGlideライブラリとともに追加します。私はbuildToolsVersionとtargetSdkVersionsと一緒にライブラリのバージョンを調整するまで、エラーを見ていました。

    android { 
        compileSdkVersion 27 
        defaultConfig { 
         minSdkVersion 20 
         targetSdkVersion 27 
         buildToolsVersion "27.0.2" 
        } 
    } 
    
    dependencies { 
        implementation fileTree(dir: 'libs', include: ['*.jar']) 
        implementation 'com.android.support:appcompat-v7:27.0.2' 
        implementation 'com.android.support:design:27.0.2' 
        implementation 'com.android.support.constraint:constraint-layout:1.0.2' 
        implementation 'com.google.firebase:firebase-database:11.8.0' 
        implementation 'com.google.firebase:firebase-storage:11.8.0' 
        implementation 'com.firebaseui:firebase-ui-database:3.2.1' 
        implementation 'com.github.bumptech.glide:glide:4.5.0' 
        annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0' 
        implementation 'com.android.support:support-v4:27.0.2' 
        testImplementation 'junit:junit:4.12' 
        androidTestImplementation 'com.android.support.test:runner:1.0.1' 
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 
    }