【问题标题】:java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;) no ideajava.lang.NoSuchMethodError: 没有静态方法 getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;) 不知道
【发布时间】:2018-03-12 16:05:54
【问题描述】:

我不明白到底出了什么问题 有人请帮忙。

它给了我 java.lang.RuntimeException: Unable to start activity ComponentInfo

请准确指出我是 android 新手。 提前谢谢你。

这是我的 LogCat

    FATAL EXCEPTION: main
              Process: com.example.gaurav.comfortzone, PID: 8282
              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/com.example.gaurav.comfortzone-2/split_lib_dependencies_apk.apk)
                  at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)
                  at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)
                  at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:110)
                  at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)
                  at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:81)
                  at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:71)
                  at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)
                  at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
                  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
                  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
                  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                  at com.example.gaurav.comfortzone.LoginActivity.onCreate(LoginActivity.java:23)
                  at android.app.Activity.performCreate(Activity.java:6679)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                  at android.app.ActivityThread.-wrap12(ActivityThread.java)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6119)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

这是我的 build.gradle(模块应用程序)

    android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
    applicationId "com.example.gaurav.comfortzone"
    minSdkVersion 16
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
} }
    dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
//Add library
    compile 'com.android.support:appcompat-v7:26.0.2'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-core:11.8.0'
compile 'com.google.firebase:firebase-database:11.8.0'
compile 'info.hoang8f:fbutton:1.0.5'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
compile 'com.android.support:cardview-v7:26.0.2'
compile 'com.android.support:recyclerview-v7:26.0.2'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.firebaseui:firebase-ui-database:3.2.1'
compile 'com.android.support:design:26.0.2'
//compile 'com.android.support:support-v13:26.1.0'

testCompile 'junit:junit:4.12'
    }
    apply plugin: 'com.google.gms.google-services'

请帮助我....我是 android 新手,我不明白我哪里出错了。

【问题讨论】:

标签: android


【解决方案1】:

您的日志显示,由于 info.hoang8f:fbutton 的问题,您的布局 XML 膨胀存在问题。

查看日志中的下一行:

二进制 XML 文件第 0 行:膨胀类 info.hoang8f.widget.FButton 时出错

以及Fbutton似乎失败的原因:

java.lang.UnsupportedOperationException: Can't convert value at index 1 to color: type=0x5
              at android.content.res.TypedArray.getColor(TypedArray.java:463)

所以最好检查一下为什么没有为提到的 FButton 充气,你的 gradle 文件显然是一个第三方库。

更新:

我看到您已将原始问题的堆栈跟踪更改为新的不同问题。首先,请不要这样做,因为您正在完全改变您的问题,这使得答案不再相关和/或无法用于可能面临类似问题的其他开发人员。请遵循 StackOverflow 指南。相反,您应该编辑您的问题并将日志附加为更新,或者提出新的不同问题。

关于新问题,请看下一个答案:

java.lang.NoSuchMethodError: No static method getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)

【讨论】:

  • 我猜这是由于库版本引起的错误,因为当我更改了库时,该错误消失了。但是很少有错误仍然是相同的......请看看,如果它仍然是库版本的问题,请告诉我。
  • 抱歉,我是 StackExchange 的新手...我不知道。
【解决方案2】:

您的代码正在使用ResourcesCompat.getFont(),它仅在支持库版本 26.1.0 之后才可用。因此,您需要将所有支持库更新到至少版本 26.1.0。

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    ...
}

【讨论】:

    猜你喜欢
    • 2018-04-17
    • 2018-04-07
    • 2019-09-05
    • 2017-11-13
    • 1970-01-01
    • 2023-03-02
    • 2018-04-10
    • 1970-01-01
    • 2018-05-20
    相关资源
    最近更新 更多