当我更改 sdk 版本时,遇到 Theme.Dialog 错误

When I change sdk version ,I am encountering Theme.Dialog error

我正在尝试为我的 android 应用安装 Firebase Crashlytics。所有版本的 Firebase Crashlytics 都接受 16 作为最低 SDK。 minSdkVersion 14 个在我的应用程序中可用。当我将 minSdkVersion 提高到 16 时,出现以下错误

C:\Users\Emircan\Desktop\mlxpos\app\src\main\res\values\styles.xml:2:5-5:13: AAPT: error: resource android:style/android:Theme.Dialog not found.

错误行:

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="editTextColor">@color/black</item>
        <item name="android:dialogTheme">@android:style/android:Theme.Dialog</item>
</style>

如果我设置 minSdkVersion 14,我会收到以下错误。

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 16 declared in library [com.google.firebase:firebase-analytics:17.6.0] C:\Users\Emircan.gradle\caches\transforms-2\files-2.1\cfbe933ef2af918ca181d266a71288ac\firebase-analytics-17.6.0\AndroidManifest.xml as the library might be using APIs not available in 14 Suggestion: use a compatible library with a minSdk of at most 14, or increase this project's minSdk version to at least 16, or use tools:overrideLibrary="com.google.firebase.firebase_analytics" to force usage (may lead to runtime failures)

我该如何解决这个问题? (crashlytics最低版本是17.0.0,也不接受)

这是 build.gradle(:app)

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

android {
    
    aaptOptions {
        cruncherEnabled = false
    }
    dexOptions {
        jumboMode true
    }
    compileSdkVersion 28
    compileOptions.encoding = 'windows-1254'
    lintOptions {
        checkReleaseBuilds false
    }
    defaultConfig {
        applicationId "com.crash.app"
        minSdkVersion 14
        targetSdkVersion 28

        multiDexEnabled true

        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            /* Do not compile these resources in debug mode. Faster build time.
            ext.enableCrashlytics = false
            crunchPngs false */
            minifyEnabled false
        }
    }

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
    }
    productFlavors {

    }

    buildToolsVersion '28.0.3'
}

dependencies {
    implementation "com.github.YarikSOffice:lingver:1.3.0"

    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.annotation:annotation:1.1.0'
    implementation 'com.google.code.gson:gson:2.7'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'

    implementation files('libs/AndroidEasingFunctions-1.0.0.jar')
    implementation files('libs/AndroidViewAnimations-1.1.2.jar')
    implementation files('libs/NineOldAndroid-2.4.0.jar')
    implementation files('libs/achartengine-1.1.0.jar')
    implementation files('libs/acra-4.7.0.jar')
    implementation files('libs/apache-mime4j-core-0.7.2.jar')
    implementation files('libs/httpclient-4.3.6.jar')
    implementation files('libs/httpcore-4.4.3.jar')
    implementation files('libs/httpmime-4.3.6.jar')
    implementation files('libs/jsoup-1.10.1.jar')
    implementation files('libs/logback-android-1.1.1-4.jar')
    implementation files('libs/mpandroidchartlibrary-2-1-3.jar')
    implementation files('libs/slf4j-api-1.7.6.jar')
    implementation files('libs/d2xx.jar')
    // Gprinter library
    implementation files('libs/commons-lang-2.6.jar')
    implementation files('libs/gprintersdkv2.1.3.jar')
    implementation files('libs/jcc-bate-0.7.3.jar')
    // Gprinter library finish
    implementation 'com.facebook.fresco:fresco:1.3.0'
    implementation 'com.github.clans:fab:1.6.4'
    implementation 'androidx.multidex:multidex:2.0.0'
    implementation(name: 'callerlibrary', ext: 'aar')
    implementation(name: 'numbertowordsconverter', ext: 'aar')
    // compile 'me.dm7.barcodescanner:zxing:1.9.8'
    // implementation 'junit:junit:4.13-beta-2'
    // implementation 'com.squareup.leakcanary:leakcanary-android:2.1'
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
    implementation 'com.google.firebase:firebase-analytics:17.6.0'
}

好吧,如果你想使用 Firebase Crashlytics 你必须将最小 sdk 版本升级到至少 16。
min sdk 设置为 16 时遇到的问题是由于新版本 (Theme.Dialog) 中不存在的错误主题引起的。改成Theme.AppCompat.Dialog应该就可以了