java.lang.NoSuchMethodError: Sin método estático getFont(Landroid/content/Context; ILandroid/util/TypedValue; ILandroid/widget/TextView;)
android-studio-3.0 android-gradle-3.0 (16)
Aquí está mi respuesta, puede ser un escenario diferente, pero obtuve este error.
Estaba creando una aplicación de reproductor de música y había agregado la siguiente biblioteca en el archivo gradle de mi aplicación.
implementation ''com.google.android.exoplayer:exoplayer:2.8.0''
Estaba siguiendo este tutorial para integrar ExoPlayer en mi aplicación. Cambié esta versión de la biblioteca de 2.8.0 a 2.6.0 y funcionó bien.
Espero que esto ayude a alguien.
Después de actualizar mi Android Studio a 3.0
No static method getFont()
error
No static method getFont()
.
El proyecto en el que estoy trabajando está en 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
}
aplicación 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:
EXCEPCIÓN FATAL: Proceso principal: com.ik.githubbrowser, PID: 4248 java.lang.NoSuchMethodError: Sin método estático getFont (Landroid / content / Context; ILandroid / util / TypedValue; ILandroid / widget / TextView;) Landroid / graphics / Typeface ; en clase Landroid / support / v4 / content / res / ResourcesCompat; o sus superclases (la declaración de ''android.support.v4.content.res.ResourcesCompat'' aparece en /data/app/com.ik.githubbrowser-YvwoGrxR8QaUEZ3IEqFVLQ==/split_lib_dependencies_apk.apk) en android.support.v7.widget. TintTypedArray.getFont (TintTypedArray.java:119) en android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle (AppCompatTextHelper.java:208) en android.support.v7.widget.AppCompatText.tper. .support.v7.widget.AppCompatTextHelperV17.loadFromAttributes (AppCompatTextHelperV17.java:38) en android.support.v7.widget.AppCompatTextView. (AppCompatTextView.java:81) en android.support.v7.Text.View.App. : 71) en android.support.v7.widget.AppCompatTextView. (AppCompatTextView.java:67) en android.support.v7.widget.Toolbar.setTitle (Toolbar.java:753) en android.support.v7.widget.ToolbarWidgetWrapper .setTitleInt (ToolbarWidgetWrapper.java:261) en android.support.v7.widget.ToolbarWidgetWrapper.set WindowTitle (ToolbarWidgetWrapper.java:243) en android.support.v7.widget.ActionBarOverlayLayout.setWindowTitle (ActionBarOverlayLayout.java:621) en android.support.v7.app.AppCompatDelegateImplV9.onTitup.leva. .v7.app.AppCompatDelegateImplV9.ensureSubDecor (AppCompatDelegateImplV9.java:328) en android.support.v7.app.AppCompatDelegateImplV9.setContentView (AppCompatDelegateImplV9.java:284) en Android. : 139) en com.ik.githubbrowser.ui.search_user.SearchUserActivity.onCreate (SearchUserActivity.java:49) en android.app.Activity.performCreate (Activity.java:6975) en android.app.Instrumentation.callActivityOnCreate (Instrumentation. java: 1213) en android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2770) en android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2892) en android.app.ActivityThread.-wrap11 (Fuente desconocida: 0) en android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1593) en android.os.Handler.dispatchMessage (Handler.java:105) en android.os.Looper.loop (Looper.java:164) en android.app.ActivityThread.main (ActivityThread .java: 6541) en java.lang.reflect.Method.invoke (Native Method) en com.android.internal.os.Zygote $ MethodAndArgsCaller.run (Zygote.java:240) en com.android.internal.os.ZygoteInit .main (ZygoteInit.java:767)
En mi caso, estaba usando
Android-KTX
:
implementation ''androidx.core:core-ktx:0.1''
en el proyecto
Kotlin
, y esa fue la causa del error.
Acabo de eliminarlo de
build.gradle
como una dependencia.
En mi caso, este problema se produjo debido a la combinación de la biblioteca Glide y Appcompat (las versiones no son compatibles entre sí).
A continuación, lo que funcionó para mí (en el nivel de aplicación build.gradle):
implementation ''com.android.support:appcompat-v7:27.0.2''
implementation ''com.github.bumptech.glide:glide:4.8.0''
Espero que ayude a alguien.
Esto es trabajo para mí:
buildToolsVersion "27.0.3"
y
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''
}
La compileSdkVersion 26 a veces da este error. Para resolverlo, actualice compileSdkVersion y targetSdkVersion a 27 en el archivo app.gradle. También cambie las dependencias correspondientes en la sección de dependencias. No necesita especificar buildToolsVersion para esto.
La solución es realmente simple ... solo necesitamos cambiar la herramienta de compilación a 27.0.2 Y todo es compatible con la versión de la biblioteca a 27.0.2 Bingo ... error resuelto
La versión de todas las dependencias debe ser la misma que compileSdkVersion. así que el siguiente código en build.gradle (módulo) funciona para mí.
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''
...
Para mí, el problema fue causado por una de las dependencias de mi aplicación que usaba una versión de Android Support Library más alta que la que yo dependía. Si aún no desea actualizar a la última versión, puede forzar el uso de su versión de la biblioteca.
Para ver qué dependencia usa la versión más nueva, puede ejecutar:
./gradlew app:dependencies
y buscar
com.android.support
ocurrencias que declaran una versión diferente de la que está usando.
Por ejemplo:
./gradlew app:dependencies /
| grep com.android.support /
| grep -vE "constraint-layout|support.test|multidex|->|26.1.0"
debería mostrarle dependencias que usan una versión diferente a
26.1.0
.
(Android Studio también debería darle un ejemplo de conflicto de dependencia en una información sobre herramientas en algunas dependencias de
com.support.android
enumeradas en su
build.gradle
)
En mi caso fue
com.android.support:support-compat:27.1.0
(y
support-annotations
), así que ejecuta:
./gradlew app:dependencyInsight /
--configuration <YOUR_BUILD_VARIANT>CompileClasspath
--dependency support-compat
Para ver qué biblioteca depende de la versión
27.1.0
de
support-compat
.
(Reemplace
<YOUR_BUILD_VARIANT>
con una de sus variantes de compilación, por ejemplo,
debug
).
En mi caso fue:
com.android.support:support-compat:27.1.0 (conflict resolution)
/--- androidx.core:core-ktx:0.3
/--- devDebugCompileClasspath
y reemplazando:
implementation ''androidx.core:core-ktx:0.3''
con:
implementation (''androidx.core:core-ktx:0.3'') {
exclude module: ''support-annotations''
exclude module: ''support-compat''
}
me solucionó el problema.
Siempre que se produzca este error, simplemente actualice las herramientas de compilación y las dependencias de soporte a la versión más reciente. Tenga en cuenta que todas las dependencias de soporte deben ser la misma versión
buildToolsVersion ''28.0.2''
implementation ''com.android.support:appcompat-v7:28.0.0''
implementation ''com.android.support:recyclerview-v7:28.0.0''
Simplemente cambie el tema de la actividad en manifiesto a cualquiera como:
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
También obtuve este problema y lo resuelvo configurando el archivo gradle de la aplicación.
Cambie su versión de compilación sdk a 27 y buildToolsVersion a 27.0.3
compileSdkVersion 27
buildToolsVersion "27.0.3"
Agregue las bibliotecas de soporte de la versión 27.1.1.
compile ''com.android.support:recyclerview-v7:27.1.1''
compile ''com.android.support:cardview-v7:27.1.1''
compile ''com.android.support:appcompat-v7:27.1.1''
y luego sincronizar proyecto.
Eso es.
Traté de encontrar una respuesta en esta pregunta, pero en mi caso fue mi configuración:
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''
}
}
}
Para resolver este problema, solo agrego la definición de
buildToolsVersion
y funciona.
buildToolsVersion "26.0.2"
Probablemente sea necesario que nuestra versión de herramientas de compilación sea la misma que la versión de las bibliotecas de soporte.
Tuve el mismo problema, solucionado con solo cambiar el appcompat y el diseño y la vista del reciclador a estos valeus:
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''
y sincronizar gradle nuevamente
subir gradle!
classpath ''com.android.tools.build:gradle:3.3.1''
Arregle res / values / styles.xml y Manifest.xml de esta manera: esta solución se prueba y no olvide limpiar y compilar:
1.Manifest.xml
cambie el tema de HomeActivity a:
<activity
android:name=".ui.home.HomeActivity"
android:theme="@style/Base.Theme.AppCompat.Light" />
<activity android:name=".BaseActivity"></activity>
2. res / values / styles.xml Realice todos sus temas precedidos por Base: styles.xml será así:
<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" />
Explicación detallada según lo solicitado:
Theme.AppCompat.Light.DarkActionBar
es una subclase de la superclase
Base
todos modos.
Ctrl + clic (Android Studio) en él y será llevado a la fuente:
<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />
3. GithubBrowser-Master.gradle
make
support_version = "27.0.0"
y no
support_version = "26.0.2
4.app.gradle :
compileSdkVersion 27
buildToolsVersion ''27.0.0''
y no
compileSdkVersion 26
buildToolsVersion ''26.0.2''