Après avoir mis à jour mon Android Studio vers la version 3.0, l'erreur No static method getFont()
s'affiche. Le projet sur lequel je travaille est 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'
}
Erreur:
EXCEPTION FATALE: processus principal: com.ik.githubbrowser, PID: 4248 Java.lang.NoSuchMethodError: Aucune méthode statique getFont (Landroid/content/Context; ILandroid/util/TypedValue; ILandroid/widget/TextView;) Landroid/graphics/Typeface; en classe Landroid/support/v4/content/res/ResourcesCompat; ou son super classes (déclaration de 'Android.support.v4.content.res.ResourcesCompat' apparaît dans à Android.support.v7.widget.TintTypedArray.getFont (TintTypedArray.Java:119) à Android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle (AppCompatTextHelper.Java:208) à Android.support.v7.widget.AppCompatTextHelper.loadFromAttributes (AppCompatTextHelper.Java:110) à Android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes (AppCompatTextHelperV17.Java:38) à Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:81) à Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:71) à Android.support.v7.widget.AppCompatTextView. (AppCompatTextView.Java:67) sur Android.support.v7.widget.Toolbar.setTitle (Toolbar.Java:753) sur Android.support.v7.widget.ToolbarWidgetWrapper.setTitleInt (ToolbarWidgetWrapper.Java:261) à Android.support.v7.widget.ToolbarWidgetWrapper.setWindowTitle (ToolbarWidgetWrapper.Java:243) à Android.support.v7.widget.ActionBarOverlayLayout.setWindowTitle (ActionBarOverlayLayout.Java:621) à Android.support.v7.app.AppCompatDelegateImplV9.onTitleChanged (AppCompatDelegateImplV9.Java:631) à Android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor (AppCompatDelegateImplV9.Java:328) à Android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.Java:284) à Android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.Java:139) à com.ik.githubbrowser.ui.search_user.SearchUserActivity.onCreate (SearchUserActivity.Java:49) sur Android.app.Activity.performCreate (Activity.Java:6975) sur Android.app.Instrumentation.callActivityOnCreate (Instrumentation.Java:1213) à Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2770) à Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:2892) sur Android.app.ActivityThread.-wrap11 (Source inconnue: 0) à Android.app.ActivityThread $ H.handleMessage (ActivityThread.Java:1593) sur Android.os.Handler.dispatchMessage (Handler.Java:105) sur Android.os.Looper.loop (Looper.Java:164) à l'adresse Android.app.ActivityThread.main (ActivityThread.Java:6541) à Java.lang.reflect.Method.invoke (Méthode native) à com.Android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.Java:240) sur com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:767)
Corrigezres/values / styles.xmletManifest.xmllike so: Cette solution a été testée et n'oubliez pas de nettoyer et compiler:
1.Manifest.xml
changer le thème de HomeActivity en:
<activity
Android:name=".ui.home.HomeActivity"
Android:theme="@style/Base.Theme.AppCompat.Light" />
<activity Android:name=".BaseActivity"></activity>
2. res/values / styles.xml Tous vos thèmes précédés de Base: styles.xml seront comme ceci:
<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" />
Explication détaillée à la demande: Theme.AppCompat.Light.DarkActionBar
est une sous-classe de la superclasse Base
de toute façon. Ctrl + clic (Android Studio) dessus et vous serez redirigé vers la source:
<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />
3. GithubBrowser-Master.gradle
faire support_version = "27.0.0"
et non support_version = "26.0.2
4.app.gradle:
compileSdkVersion 27
buildToolsVersion '27.0.0'
et pas
compileSdkVersion 26
buildToolsVersion '26.0.2'
c'est un travail pour moi:
buildToolsVersion "27.0.3"
et
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'
}
Dans mon cas, j’utilisais Android-KTX: implementation 'androidx.core:core-ktx:0.1'
dans le projet Kotlin et c’était la cause de l’erreur. Je viens de le retirer de build.gradle en tant que dépendance.
J'ai eu le même problème, corrigé avec juste changer l'appcompat et design et recyclerview à ces valeurs
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'
et synchroniser à nouveau
J'ai également eu ce problème et résoudre ce problème en définissant le fichier Gradle d'application.
Changez votre version de compilation de sdk en 27 et buildToolsVersion en 27.0.3
compileSdkVersion 27
buildToolsVersion "27.0.3"
Ajouter des bibliothèques de support de version 27.1.1.
compiler 'com.Android.support:recyclerview-v7:27.1.1'
compiler 'com.Android.support:cardview-v7:27.1.1'
compiler 'com.Android.support:appcompat-v7:27.1.1'
puis synchroniser le projet.
C'est tout.
CompileSdkVersion 26 donne parfois cette erreur. Pour le résoudre, veuillez mettre à jour compileSdkVersion et targetSdkVersion vers 27 dans le fichier app.gradle . Modifiez également les dépendances correspondantes dans la section des dépendances. Vous n'avez pas besoin de spécifier buildToolsVersion pour cela.
la version de toutes les dépendances doit être identique à compileSdkVersion. donc ci-dessous le code dans build.gradle (module) travail pour moi.
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'
...
Dans mon cas, ce problème venait de la combinaison de Glide et Bibliothèque Appcompat (les versions ne se supportent pas).
Voici donc ce qui a fonctionné pour moi (Au niveau de l'application, build.gradle) -
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.github.bumptech.glide:glide:4.8.0'
J'espère que ça va aider quelqu'un.
La solution est très simple ... il suffit de changer l'outil de génération en 27.0.2 Et tous prennent en charge la version de bibliothèque en 27.0.2 Bingo..error résolu
Il suffit de changer le thème de l’activité dans manifest comme suit:
Android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
J'ai essayé de trouver une réponse à cette question, mais dans mon cas, c'était ma configuration:
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'
}
}
}
Pour résoudre ce problème, j’ajoute simplement la définition de buildToolsVersion
et cela fonctionne!
buildToolsVersion "26.0.2"
Il est probablement nécessaire que notre version des outils de génération soit la même que la version des bibliothèques de support.
Chaque fois que cette erreur se produit, il suffit de mettre à jour buildtools et de gérer les dépendances avec une version plus récente. Ce problème sera résolu. Gardez à l'esprit que toutes les dépendances de support doivent avoir la même version
buildToolsVersion '28.0.2'
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:recyclerview-v7:28.0.0'
télécharger gradle!
chemin de classe 'com.Android.tools.build:gradle:3.3.1'
Pour moi, le problème était dû à l’une de mes dépendances d’application, qui utilisait une version de la bibliothèque de support Android supérieure à celle dont je dépendais. Si vous ne souhaitez pas mettre à jour la dernière version pour le moment, vous pouvez forcer l'utilisation de votre version de la bibliothèque.
Pour voir quelle dépendance utilise la version la plus récente, vous pouvez exécuter: ./gradlew app:dependencies
et rechercher les occurrences com.Android.support
qui déclarent une version différente de celle que vous utilisez. Par exemple:
./gradlew app:dependencies \
| grep com.Android.support \
| grep -vE "constraint-layout|support.test|multidex|->|26.1.0"
devrait vous montrer les dépendances qui utilisent une version différente de 26.1.0
. (Android Studio devrait également vous donner un exemple de conflit de dépendance dans une info-bulle sur certaines dépendances com.support.Android
répertoriées dans votre build.gradle
)
Dans mon cas, c'était com.Android.support:support-compat:27.1.0
(et support-annotations
), alors exécutez:
./gradlew app:dependencyInsight \
--configuration <YOUR_BUILD_VARIANT>CompileClasspath
--dependency support-compat
Pour voir quelle bibliothèque dépend de 27.1.0
version de support-compat
. (Remplacez <YOUR_BUILD_VARIANT>
par l’une de vos variantes de construction, par exemple debug
).
Dans mon cas c'était:
com.Android.support:support-compat:27.1.0 (conflict resolution)
\--- androidx.core:core-ktx:0.3
\--- devDebugCompileClasspath
et en remplaçant:
implementation 'androidx.core:core-ktx:0.3'
avec:
implementation ('androidx.core:core-ktx:0.3') {
exclude module: 'support-annotations'
exclude module: 'support-compat'
}
résolu le problème pour moi.
Voici ma réponse à cela, c'est peut-être un scénario différent mais j'ai eu cette erreur.
Je créais une application de lecteur de musique et j'avais ajouté la bibliothèque suivante dans mon fichier de classement des applications.
implementation 'com.google.Android.exoplayer:exoplayer:2.8.0'
Je suivais ce tutorial pour intégrer ExoPlayer à mon application. J'ai changé cette version de bibliothèque de 2.8.0 à 2.6.0 et cela a bien fonctionné.
J'espère que ça aidera quelqu'un.