0

次のアプリ ビルド gradle 構成で Android アプリケーションを開発しています。

プラグインを適用: 'com.android.application'

アンドロイド {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.test.app"
        minSdkバージョン 15
        targetSdkバージョン 23
        バージョンコード 1
        バージョン名「1.0」
    }
    ビルドタイプ {
        リリース {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

依存関係{
    コンパイル fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    「io.reactivex:rxandroid:1.1.0」をコンパイルします
    「io.reactivex:rxjava:1.1.0」をコンパイルします
    「com.android.support:appcompat-v7:23.2.0」をコンパイルします
    「com.android.support:support-v4:23.2.0」をコンパイルします
    「com.google.code.gson:gson:2.6.2」をコンパイルします
    「org.apache.commons:commons-lang3:3.4」をコンパイルします
    「com.android.support:design:23.0.0」をコンパイルします
}

およびxml構成の単純なPreferenceFragment:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference android:title="Application Updates"
    android:defaultValue="false"
    android:summary="Simple check box preference."
    android:key="applicationUpdates" />

APIレベル23のデバイスでアプリを実行するとすべて問題ありませんが、API 15のエミュレーターで同じコードを実行するとエラーが発生します:

03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime: android.view.InflateException: バイナリ XML ファイルの行 #19: クラス android.widget.CheckBox の膨張エラー
...
いくつかのコード
...
03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime: 原因: java.lang.reflect.InvocationTargetException
...
いくつかのコード
...
03-09 19:38:01.205 1541-1541/com.test.app E/AndroidRuntime: 原因: android.content.res.Resources$NotFoundException: ファイル res/drawable/abc_btn_check_mat

マテリアル デザイン ライブラリに何か問題があると思いますが、よくわかりませんし、この問題を解決する方法もわかりません。SDK 15 を搭載したデバイスでアプリを実行したいのですが、実行できません。この問題を解決するにはどうすればよいですか?

PS。xml 構成から CheckBoxPreference を削除すると、私のアプリは api 15 と api 23 で作業しています。

4

1 に答える 1

0

解決策を見つけました。この問題は、次を追加することで解決されました。

aaptオプション {
        additionalParameters "--no-version-vectors"
    }

アプリビルドgradleへ。

于 2016-03-10T16:58:42.973 に答える