我的项目有问题。我不知道如何解决它。这是我第一次见到它。
/ UncaughtException:java.lang.NoSuchMethodError:没有静态方法 的getFont(Landroid /内容/上下文; ILandroid / util的/的TypedValue; ILandroid /插件/ TextView的)Landroid /图形/字体或符号; 在课堂上Landroid / support / v4 / content / res / ResourcesCompat;或者它的超级 课程(宣言) ' android.support.v4.content.res.ResourcesCompat'出现在 /data/app/codes.trongtin.h.besttrip-2/split_lib_dependencies_apk.apk:classes2.dex)
答案 0 :(得分:20)
您似乎正在使用支持依赖项。 只需检查您的应用程序gradle,您的构建工具版本与支持版本相同。
例如:
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 :(得分:6)
只需更改complieSdkVersion,buildToolsVersion和appCompat依赖项。
compileSdkVersion 27
buildToolsVersion '27.0.0'
implementation 'com.android.support:appcompat-v7:27.0.2'
答案 2 :(得分:3)
感谢@ 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'
}
答案 3 :(得分:1)
如果任何支持依赖项的版本不匹配,则会发生此错误。 要考虑的两件事要避免这个错误:
答案 4 :(得分:0)
由于您使用的是支持库,请使用ResourcesCompat
Typeface typeFace= ResourcesCompat.getFont(getActivity(),R.font.roboto);
这将解决您的问题。
如果你想支持api level 26及以上,你可以使用
Typeface typeface = getResources().getFont(R.font.myfont);
答案 5 :(得分:-1)
解决方案非常简单..只需将构建工具版本更改为27.0.2并且所有支持库到27.0.2
完成。 宾果!