web-dev-qa-db-ja.com

java.lang.NoSuchMethodError:静的メソッドはありませんgetFont(Landroid / content / Context; ILandroid / util / TypedValue; ILandroid / widget / TextView;)

Android Studioを3.0に更新した後、No static method getFont()エラーが発生しました。私が取り組んでいるプロジェクトは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
}

アプリグラドル

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'

}

エラー:

致命的な例外:メインプロセス:com.ik.githubbrowser、PID:4248 Java.lang.NoSuchMethodError:静的メソッドはありませんgetFont(Landroid/content/Context; ILandroid/util/TypedValue; ILandroid/widget/TextView;)Landroid/graphics/Typeface ; Landroidクラスの/ support/v4/content/res/ResourcesCompat;またはそのスーパークラス( 'Android.support.v4.content.res.ResourcesCompat'の宣言は、Android.support.v7.widgetの/data/app/com.ik.githubbrowser-YvwoGrxR8QaUEZ3IEqFVLQ ==// split_lib_dependencies_apk.apkにあります)。 TintTypedArray.getFont(TintTypedArray.Java:119)in Android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.Java:208)Android.support.v7.widget.AppCompatTextHelt.Attribute.AtputFelt.Attribute.AtputFelt.AtAt.AttributeTelt.AtUpdate.AtAndStyle Android.support.v7.widget.AppCompatTextViewでの.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.Java:38) :71)Android.support.v7.widget.AppCompatTextViewで(AppCompatTextView.Java:67)Android.support.v7.widget.Toolbar.setTitle(Toolbar.Java:753)でAndroid.support.v7.widget.ToolbarWidgetWrapper Android.support.v7.widget.ToolbarWidgetWrapper.setの.setTitleInt(ToolbarWidgetWrapper.Java:261) Android.support.v7.widget.ActionBarOverlayLayout.setWindowTitle(ActionBarOverlayLayout.Java:621)のWindowTitle(ToolbarWidgetWrapper.Java:243) Android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.Java:284)に.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.Java:328)を表示します。 :139)com.ik.githubbrowser.ui.search_user.SearchUserActivity.onCreate(SearchUserActivity.Java:49)at Android.app.Activity.performCreate(Activity.Java:6975)at Android.app.Instrumentation.callActivityOnCreate(Instrumentation) Java:1213)at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2770)at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2892)at Android.app.ActivityThread.-wrap11(不明ソース:0) Android.app.ActivityThread $ Android.os.Looper.loop(Looper.Java:164)のAndroid.os.Handler.dispatchMessage(Handler.Java:105)のAndroid.app.ActivityThread.main(ActivityThread)のH.handleMessage(ActivityThread.Java:1593) .Java:6541)Java.lang.reflect.Method.invoke(ネイティブメソッド)com.Android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.Java:240)at com.Android.internal.os.ZygoteInit .main(ZygoteInit.Java:767)

57
ik024

res/values/styles.xmlを修正しました。 )Manifest.xmlのように:このソリューションはテスト済みで、クリーンアップして構築することを忘れないでください。

1.Manifest.xml

homeActivityのテーマを次のように変更します。

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

2。 res/values/styles.xmlすべてのテーマの前にBaseを付けます。styles.xmlは次のようになります。

<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" />

要求に応じた詳細な説明:Theme.AppCompat.Light.DarkActionBarはとにかくスーパークラスBaseのサブクラスです。それをCtrl +クリック(Android Studio)すると、あなたはソースに連れて行かれるでしょう:

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

3。 GithubBrowser-Master.gradle

support_version = "27.0.0"ではなくsupport_version = "26.0.2を作成

4.app.gradle

compileSdkVersion 27
    buildToolsVersion '27.0.0'

ではなく

   compileSdkVersion 26
buildToolsVersion '26.0.2'
74
Nawrez

これは私のための仕事です:

    buildToolsVersion "27.0.3"

そして

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

私の場合は、Android-KTXimplementation 'androidx.core:core-ktx:0.1' inを使用していましたKotlinプロジェクト、そしてそれがエラーの原因でした。依存関係としてbuild.gradleから削除したところです。

7
Gent Berani

私はまた、この問題を抱えており、アプリケーションの問題ファイルを設定することによってこの問題を解決しています。

コンパイル用SDKのバージョンを27に変更し、buildToolsVersionを27.0.3に変更します

compileSdkVersion 27

buildToolsVersion "27.0.3"

27.1.1バージョンのサポートライブラリを追加しました。

'com.Android.support:recyclerview-v7:27.1.1'をコンパイルしてください。

'com.Android.support:cardview-v7:27.1.1'をコンパイルしてください。

'com.Android.support:appcompat-v7:27.1.1'をコンパイルしてください。

その後、プロジェクトを同期します。

それでおしまい。

5
mehmoodnisar125

ComileSdkVersionとtargetSdkVersionが同じであることを確認してください。

Comile and SDK Versions

また、依存関係を最新バージョンに更新してプロジェクトを同期して実行します。それは私が問題を解決するのを助けました。

Dependencies

4
Pawar Shah

私は同じ問題を抱えていて、appcompatとdesignとrecyclerviewをこれらの値に変更しただけで修正されました。

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'

そしてもう一度gradleを同期

4
MohammadL

CompileSdkVersion 26は時々このエラーを出します。解決するには、app.gradleファイルでcompileSdkVersionとtargetSdkVersionを27にアップグレードしてください。依存関係セクションの対応する依存関係も変更してください。これにはbuildToolsVersionを指定する必要はありません。

2
DNB

すべての依存関係のバージョンは、compileSdkVersionと同じでなければなりません。そのため、build.gradle(module)の以下のコードが役に立ちます。

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

私の場合、この問題は、GlideAppcompatライブラリの組み合わせが原因で発生していました(バージョンは互いにサポートしていません)。

だから以下は私のために働いていたものです(アプリレベルbuild.gradleで) -

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

それが誰かに役立つことを願っています。

1
B.shruti

解決策は本当に簡単です。uは単に27.0.2にビルドツールを変更する必要がありますそしてそしてすべては27.0.2にライブラリのバージョンをサポートしています。

1
Mihir Joshi

マニフェストのアクティビティテーマを次のように変更するだけです。

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

私はこの質問で答えを見つけようとしましたが、私の場合は私の設定でした。

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'
        }
    }
}

この問題を解決するために、buildToolsVersionの定義を追加するだけでうまくいきます。

   buildToolsVersion "26.0.2"

おそらく私たちのビルドツールのバージョンがサポートライブラリのバージョンと同じであることが必要です。

0
Elenasys

このエラーが発生するたびにbuildtoolsを更新して新しいバージョンへの依存関係をサポートするだけです。すべてのサポート依存関係は同じバージョンであるべきだということを覚えておいてください

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

グラドルをアップロード

クラスパス 'com.Android.tools.build:gradle:3.3.1'

0

私にとっては、問題は私が依存していたものよりも新しいバージョンのAndroid Support Libraryを使用している私のアプリ依存関係の1つによって引き起こされました。まだ最新バージョンに更新したくない場合は、自分のバージョンのライブラリーの使用を強制することができます。

どの依存関係が新しいバージョンを使用しているかを確認するには、./gradlew app:dependenciesを実行して、使用しているバージョンとは異なるバージョンを宣言するcom.Android.supportの発生を探します。例えば:

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

26.1.0とは異なるバージョンを使用する依存関係を表示するはずです。 (Android Studioでは、com.support.Androidにリストされているいくつかのbuild.gradleの依存関係について、ツールチップの依存関係の競合の例も提供されるはずです。)

私の場合はcom.Android.support:support-compat:27.1.0(そしてsupport-annotations)でしたので、実行してください。

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

どのライブラリが27.1.0support-compatバージョンに依存しているかを確認する。 (<YOUR_BUILD_VARIANT>をあなたのビルドバリアントの1つ、例えばdebug)に置き換えてください。

私の場合は、

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

そして交換する:

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

と:

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

私のために問題を修正しました。

0
arekolek

これに対する私の答えはここにあります、それはおそらく異なるシナリオですが、私はこのエラーを得ました。

私は音楽プレーヤーアプリを作成していました、そして、私は私のアプリgradleファイルに以下のライブラリを追加しました。

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

私は自分のアプリにExoPlayerを統合するためにこの チュートリアル に従っていました。このライブラリのバージョンを2.8.0から2.6.0に変更しましたが、うまくいきました。

これが誰かに役立つことを願っています。

0
Harry .Naeem