it-swarm.com.de

java.lang.NoSuchMethodError: Keine statische Methode getFont (Landroid/content/Kontext; ILandroid/util/TypedValue; ILandroid/widget/TextView;)

Nachdem ich mein Android Studio auf 3.0 aktualisiert habe, erhalte ich einen No static method getFont()-Fehler. Das Projekt, an dem ich arbeite, ist auf github, https://github.com/ik024/GithubBrowser

// Top-level build file where you can add configuration options common 
to all sub-projects/modules.

buildscript {
repositories {
    jcenter()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
dependencies {
    classpath 'com.Android.tools.build:gradle:3.0.0'
    classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
}
}

allprojects {
repositories {
    jcenter()
    maven { url 'https://maven.google.com' }
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}

ext{
    Arch_version = "1.0.0-alpha9"
    support_version = "26.0.2"
    dagger_version = "2.11"
    junit_version = "4.12"
    espresso_version = "2.2.2"
    retrofit_version = "2.3.0"
    mockwebserver_version = "3.8.0"
    Apache_commons_version = "2.5"
    mockito_version = "1.10.19"
    constraint_layout_version = "1.0.2"
    timber_version = "4.5.1"
    butterknife_version = "9.0.0-SNAPSHOT"
    rxbinding_version = "2.0.0"
    retrofit_version = "2.3.0"
    okhttp_version = "3.6.0"
    rxjava2_adapter_version = "1.0.0"
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

app gradle

apply plugin: 'com.Android.application'
apply plugin: 'com.jakewharton.butterknife'

Android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
    applicationId "com.ik.githubbrowser"
    minSdkVersion 17
    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'
    }
}
packagingOptions {
    exclude 'META-INF/rxjava.properties'
}

testOptions {
    unitTests.returnDefaultValues = true
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile "com.Android.support.constraint:constraint-layout:$constraint_layout_version"

compile "com.Android.support:appcompat-v7:$support_version"
compile "com.Android.support:recyclerview-v7:$support_version"
compile "com.Android.support:cardview-v7:$support_version"
compile "com.Android.support:design:$support_version"
compile "com.Android.support:support-v4:$support_version"

compile "Android.Arch.persistence.room:runtime:$Arch_version"
compile "Android.Arch.lifecycle:runtime:$Arch_version"
compile "Android.Arch.lifecycle:extensions:$Arch_version"
compile "Android.Arch.persistence.room:rxjava2:$Arch_version"

compile "com.squareup.retrofit2:retrofit:$retrofit_version"
compile "com.squareup.retrofit2:converter-gson:$retrofit_version"
compile "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
compile "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:$rxjava2_adapter_version"

compile "com.squareup.okhttp3:okhttp:$okhttp_version"
compile "com.squareup.okhttp3:logging-interceptor:$okhttp_version"


compile "com.jakewharton.timber:timber:$timber_version"
compile "com.jakewharton:butterknife:$butterknife_version"
compile "com.jakewharton.rxbinding2:rxbinding:$rxbinding_version"

compile "com.google.dagger:dagger:$dagger_version"
compile "com.google.dagger:dagger-Android:$dagger_version"
compile "com.google.dagger:dagger-Android-support:$dagger_version"

testCompile "junit:junit:$junit_version"
testCompile "com.squareup.okhttp3:mockwebserver:$mockwebserver_version"
testCompile("Android.Arch.core:core-testing:$Arch_version", {
    exclude group: 'com.Android.support', module: 'support-compat'
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.Android.support', module: 'support-core-utils'
})

androidTestCompile "com.Android.support:appcompat-v7:$support_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.Android.support', module: 'support-fragment'
    exclude group: 'com.Android.support', module: 'support-core-ui'
}

androidTestCompile "com.Android.support:recyclerview-v7:$support_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.Android.support', module: 'support-fragment'
    exclude group: 'com.Android.support', module: 'support-core-ui'
}

androidTestCompile "com.Android.support:support-v4:$support_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.Android.support', module: 'support-fragment'
    exclude group: 'com.Android.support', module: 'support-core-ui'
}

androidTestCompile "com.Android.support:design:$support_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.Android.support', module: 'support-fragment'
    exclude group: 'com.Android.support', module: 'support-core-ui'
}

androidTestCompile("com.Android.support.test.espresso:espresso-core:$espresso_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.google.code.findbugs', module: 'jsr305'
})

androidTestCompile("com.Android.support.test.espresso:espresso-contrib:$espresso_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
    exclude group: 'com.google.code.findbugs', module: 'jsr305'
    exclude group: 'com.Android.support', module: 'support-fragment'
    exclude group: 'com.Android.support', module: 'support-core-ui'
})

androidTestCompile("Android.Arch.core:core-testing:$Arch_version", {
    exclude group: 'com.Android.support', module: 'support-annotations'
})

androidTestCompile 'org.mockito:mockito-Android:2.7.15', {
    exclude group: 'com.Android.support', module: 'support-annotations'
}

annotationProcessor "com.google.dagger:dagger-Android-processor:$dagger_version"
annotationProcessor "com.google.dagger:dagger-compiler:$dagger_version"
annotationProcessor "Android.Arch.persistence.room:compiler:$Arch_version"
annotationProcessor "Android.Arch.lifecycle:compiler:$Arch_version"
annotationProcessor "com.jakewharton:butterknife-compiler:$butterknife_version"


compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.0.2'

}

Error:

FATALE AUSNAHME: Hauptprozess: com.ik.githubbrowser, PID: 4248 Java.lang.NoSuchMethodError: Keine statische Methode getFont (Landroid/content/Context; ILandroid/util/TypedValue; ILandroid/widget/TextView;) Landroid/graphics/Typeface; in der Klasse Landroid/support/v4/content/res/ResourcesCompat; oder sein super Klassen (Deklaration von 'Android.support.v4.content.res.ResourcesCompat' erscheint in /data/app/com.ik.githubbrowser-YvwoGrxR8QaUEZ3IEqFVLQ==/split_lib_dependencies_apk.apk) beim Android.support.v7.widget.TintTypedArray.getFont (TintTypedArray.Java:119) beim Android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle (AppCompatTextHelper.Java:208) beim Android.support.v7.widget.AppCompatTextHelper.loadFromAttributes (AppCompatTextHelper.Java:110) beim Android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes (AppCompatTextHelperV17.Java:38) beim Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:81) beim Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:71) beim Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:67) at Android.support.v7.widget.Toolbar.setTitle (Toolbar.Java:753) um Android.support.v7.widget.ToolbarWidgetWrapper.setTitleInt (ToolbarWidgetWrapper.Java:261) beim Android.support.v7.widget.ToolbarWidgetWrapper.setWindowTitle (ToolbarWidgetWrapper.Java:243) beim Android.support.v7.widget.ActionBarOverlayLayout.setWindowTitle (ActionBarOverlayLayout.Java:621) beim Android.support.v7.app.AppCompatDelegateImplV9.onTitleChanged (AppCompatDelegateImplV9.Java:631) beim Android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor (AppCompatDelegateImplV9.Java:328) beim Android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.Java:284) beim Android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.Java:139) beim com.ik.githubbrowser.ui.search_user.SearchUserActivity.onCreate (SearchUserActivity.Java:49) at Android.app.Activity.performCreate (Activity.Java:6975) um Android.app.Instrumentation.callActivityOnCreate (Instrumentation.Java:1213) beim Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2770) beim Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:2892) at Android.app.ActivityThread.-wrap11 (Unknown Source: 0) at Android.app.ActivityThread $ H.handleMessage (ActivityThread.Java:1593) bei Android.os.Handler.dispatchMessage (Handler.Java:105) um Android.os.Looper.loop (Looper.Java:164) um Android.app.ActivityThread.main (ActivityThread.Java:6541) um Java.lang.reflect.Method.invoke (native Methode) um com.Android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.Java:240) at com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:767)

57
ik024

Fixiereres/values ​​/ styles.xmlundManifest.xmlso: Diese Lösung wurde getestet und vergiss nicht zu säubern und zu bauen:

1.Manifest.xml

Ändern Sie das Thema HomeActivity in:

        <activity
        Android:name=".ui.home.HomeActivity"
        Android:theme="@style/Base.Theme.AppCompat.Light" />
    <activity Android:name=".BaseActivity"></activity>

2. res/values ​​/ styles.xml Machen Sie alle Ihre Motive vor Base: styles.xml sieht folgendermaßen aus:

<resources>

<!-- Base application theme. -->
<!--<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">-->

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">


<!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar" parent="Base.Theme.AppCompat.Light">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="Base.ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="Base.ThemeOverlay.AppCompat.Light" />

Ausführliche Erklärung bei Bedarf: Theme.AppCompat.Light.DarkActionBar ist ohnehin eine Unterklasse der Oberklasse Base. Klicken Sie bei gedrückter Strg-Taste (Android Studio) darauf, und Sie werden zur Quelle geleitet:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

3. GithubBrowser-Master.gradle

make support_version = "27.0.0" und nicht support_version = "26.0.2

4.app.gradle:

compileSdkVersion 27
    buildToolsVersion '27.0.0'

und nicht 

   compileSdkVersion 26
buildToolsVersion '26.0.2'
73
Nawrez

das ist Arbeit für mich:

    buildToolsVersion "27.0.3"

und

dependencies {
compile 'com.Android.support:appcompat-v7:27.0.0'
compile 'com.Android.support:design:27.0.0'
compile 'com.Android.support:support-v4:27.0.0'
compile 'com.Android.support:support-v13:27.0.0'
}
16
Maysam R

In meinem Fall habe ich Android-KTX: implementation 'androidx.core:core-ktx:0.1' im Kotlin -Projekt verwendet. Ich habe es gerade als Abhängigkeit von build.gradle entfernt.

7
Gent Berani

Stellen Sie sicher, dass Ihre comileSdkVersion und Ihre targetSdkVersion gleich sind: 

 Comile and SDK Versions

aktualisieren Sie auch Ihre Abhängigkeiten auf die neueste Version, synchronisieren Sie das Projekt und führen Sie es aus. Es hat mir geholfen, das Problem zu lösen.

 Dependencies

4
Pawar Shah

Ich hatte das gleiche Problem, das mit dem Ändern von appcompat und dem Design und der Wiederverwendung zu diesen valeus behoben wurde:

implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:design:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'

und synchronisieren Sie Gradle erneut

4
MohammadL

Ich habe dieses Problem auch erhalten und dieses Problem durch Einstellen der Gradle-Datei für die Anwendung behoben.

Ändern Sie Ihre kompilierte sdk-Version auf 27 und buildToolsVersion auf 27.0.3

compileSdkVersion 27

buildToolsVersion "27.0.3"

Fügen Sie 27.1.1-Unterstützungsbibliotheken hinzu.

'com.Android.support:recyclerview-v7:27.1.1' kompilieren

'com.Android.support:cardview-v7:27.1.1' kompilieren

"com.Android.support:appcompat-v7:27.1.1" kompilieren

und dann das Projekt synchronisieren.

Das ist es.

4
mehmoodnisar125

Die compileSdkVersion 26 gibt manchmal diesen Fehler aus. Um dies zu beheben, aktualisieren Sie bitte die Datei compileSdkVersion und targetSdkVersion auf 27 in der Datei app.gradle .. _. Dazu müssen Sie nicht buildToolsVersion angeben.

2
DNB

die Version aller Abhängigkeiten sollte mit compileSdkVersion identisch sein. Also unten stehender Code in build.gradle (Modul) funktioniert für mich.

Android {

     compileSdkVersion 26

 ...

dependencies {

implementation 'com.Android.support:appcompat-v7:26.0.2'

implementation 'com.Android.support:recyclerview-v7:26.0.2'

implementation 'com.Android.support:cardview-v7:26.0.2'


...
2
AhuraMazda

In meinem Fall kam dieses Problem aufgrund der Kombination aus Glide und Appcompat-Bibliothek (Versionen unterstützen sich nicht).

Nachfolgend sehen Sie, was für mich funktioniert hat (In App-Ebene build.gradle):

implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.github.bumptech.glide:glide:4.8.0'

Hoffe, es wird jemandem helfen.

1
B.shruti

Die Lösung ist wirklich einfach. Sie müssen nur das Build-Tool auf 27.0.2 .__ ändern. Und alle unterstützen die Bibliotheksversion auf 27.0.2 .__

1
Mihir Joshi

Ändern Sie einfach das Aktivitätsthema im Manifest wie folgt:

Android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
1
Khalid Ali

Ich habe versucht, eine Antwort auf diese Frage zu finden, aber in meinem Fall war es meine Konfiguration:

Android {
    compileSdkVersion 26
     defaultConfig {
        applicationId "com.jorgesys.gifanimated"
        minSdkVersion 14
        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'
        }
    }
}

Um dieses Problem zu lösen, füge ich einfach die Definition der buildToolsVersion hinzu und es funktioniert!

   buildToolsVersion "26.0.2"

Möglicherweise ist es notwendig, dass unsere Build-Tools-Version der Support-Bibliotheksversion entspricht.

0
Elenasys

Wenn dieser Fehler auftritt, aktualisieren Sie einfach Buildtools und unterstützen Sie Abhängigkeiten auf eine neuere Version. Dadurch wird das Problem behoben. Beachten Sie, dass alle Supportabhängigkeiten dieselbe Version haben sollten

buildToolsVersion '28.0.2'
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:recyclerview-v7:28.0.0'
0
Gibs

gradle hochladen

klassenpfad 'com.Android.tools.build:gradle:3.3.1'

0

Für mich wurde das Problem durch eine meiner App-Abhängigkeiten verursacht, die eine höhere Version der Android Support Library verwendet als die, von der ich abhängig war. Wenn Sie noch nicht auf die neueste Version aktualisieren möchten, können Sie die Verwendung Ihrer Version der Bibliothek erzwingen.

Um herauszufinden, welche Abhängigkeit eine neuere Version verwendet, können Sie Folgendes ausführen: ./gradlew app:dependencies und nach com.Android.support-Ereignissen suchen, die eine andere Version angeben, als Sie verwenden. Zum Beispiel:

./gradlew app:dependencies \
  | grep com.Android.support \
  | grep -vE "constraint-layout|support.test|multidex|->|26.1.0"

sollte Ihnen Abhängigkeiten zeigen, die eine andere Version als 26.1.0 verwenden. (Android Studio sollte auch einen Beispiel-Abhängigkeitskonflikt in einem Tooltip für einige com.support.Android-Abhängigkeiten enthalten, die in Ihrem build.gradle aufgeführt sind.)

In meinem Fall war es com.Android.support:support-compat:27.1.0 (und support-annotations), also führen Sie aus:

./gradlew app:dependencyInsight \
  --configuration <YOUR_BUILD_VARIANT>CompileClasspath
  --dependency support-compat

Um herauszufinden, welche Bibliothek von der 27.1.0-Version von support-compat abhängt. (Ersetzen Sie <YOUR_BUILD_VARIANT> durch eine Ihrer Build-Varianten, z. B. debug).

In meinem Fall war es:

com.Android.support:support-compat:27.1.0 (conflict resolution)
\--- androidx.core:core-ktx:0.3
     \--- devDebugCompileClasspath

und ersetzen:

implementation 'androidx.core:core-ktx:0.3'

mit:

implementation ('androidx.core:core-ktx:0.3') {
    exclude module: 'support-annotations'
    exclude module: 'support-compat'
}

behebte das Problem für mich.

0
arekolek

Hier ist meine Antwort darauf, vielleicht ein anderes Szenario, aber ich habe diesen Fehler erhalten.

Ich erstellte eine Musik-Player-App und hatte die folgende Bibliothek in meiner App-Gradle-Datei hinzugefügt.

implementation 'com.google.Android.exoplayer:exoplayer:2.8.0'

Ich folgte diesem Tutorial , um ExoPlayer in meine App zu integrieren. Ich habe diese Bibliotheksversion von 2.8.0 auf 2.6.0 geändert und es hat gut funktioniert. 

Ich hoffe das hilft jemandem.

0
Harry .Naeem