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)
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'
これは私のための仕事です:
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'
}
私の場合は、Android-KTX:implementation 'androidx.core:core-ktx:0.1'
inを使用していましたKotlinプロジェクト、そしてそれがエラーの原因でした。依存関係としてbuild.gradleから削除したところです。
私はまた、この問題を抱えており、アプリケーションの問題ファイルを設定することによってこの問題を解決しています。
コンパイル用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'をコンパイルしてください。
その後、プロジェクトを同期します。
それでおしまい。
私は同じ問題を抱えていて、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を同期
CompileSdkVersion 26は時々このエラーを出します。解決するには、app.gradleファイルでcompileSdkVersionとtargetSdkVersionを27にアップグレードしてください。依存関係セクションの対応する依存関係も変更してください。これにはbuildToolsVersionを指定する必要はありません。
すべての依存関係のバージョンは、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'
...
私の場合、この問題は、GlideとAppcompatライブラリの組み合わせが原因で発生していました(バージョンは互いにサポートしていません)。
だから以下は私のために働いていたものです(アプリレベルbuild.gradleで) -
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.github.bumptech.glide:glide:4.8.0'
それが誰かに役立つことを願っています。
解決策は本当に簡単です。uは単に27.0.2にビルドツールを変更する必要がありますそしてそしてすべては27.0.2にライブラリのバージョンをサポートしています。
マニフェストのアクティビティテーマを次のように変更するだけです。
Android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"
私はこの質問で答えを見つけようとしましたが、私の場合は私の設定でした。
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"
おそらく私たちのビルドツールのバージョンがサポートライブラリのバージョンと同じであることが必要です。
このエラーが発生するたびにbuildtoolsを更新して新しいバージョンへの依存関係をサポートするだけです。すべてのサポート依存関係は同じバージョンであるべきだということを覚えておいてください
buildToolsVersion '28.0.2'
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:recyclerview-v7:28.0.0'
グラドルをアップロード
クラスパス 'com.Android.tools.build:gradle:3.3.1'
私にとっては、問題は私が依存していたものよりも新しいバージョンの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.0
のsupport-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'
}
私のために問題を修正しました。
これに対する私の答えはここにあります、それはおそらく異なるシナリオですが、私はこのエラーを得ました。
私は音楽プレーヤーアプリを作成していました、そして、私は私のアプリgradleファイルに以下のライブラリを追加しました。
implementation 'com.google.Android.exoplayer:exoplayer:2.8.0'
私は自分のアプリにExoPlayerを統合するためにこの チュートリアル に従っていました。このライブラリのバージョンを2.8.0から2.6.0に変更しましたが、うまくいきました。
これが誰かに役立つことを願っています。