【问题标题】:When I change sdk version ,I am encountering Theme.Dialog error当我更改 sdk 版本时,我遇到 Theme.Dialog 错误
【发布时间】:2021-02-05 06:33:33
【问题描述】:

我正在尝试为我的 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: 错误: 资源 android:style/android:Theme.Dialog没找到。

错误行:

<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,我会收到以下错误。

清单合并失败:uses-sdk:minSdkVersion 14 不能小于库 [com.google.firebase:firebase-analytics:17.6.0] C:\Users\Emircan.gradle\caches\transforms- 中声明的版本 16 2\files-2.1\cfbe933ef2af918ca181d266a71288ac\firebase-analytics-17.6.0\AndroidManifest.xml 因为该库可能正在使用 14 中不可用的 API 建议:使用 minSdk 最多为 14 的兼容库, 或者将此项目的 minSdk 版本增加到至少 16, 或者使用 tools:overrideLibrary="com.google.firebase.firebase_analytics" 强制使用(可能导致运行时失败)

我该如何解决这个问题? (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'
}

【问题讨论】:

    标签: android firebase gradle crashlytics


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 2016-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多