首页 文章

如何在较旧的Android设备上支持Material Design

提问于
浏览
4

我正在尝试在我的项目中使用Material Design,但我没有找到导入它的方法 . 我花了很多时间在互联网和stackoverflow尝试用户的建议,但无论我尝试过什么都没有用 .

我在Mac OSX 10.10上使用Android Studio 0.8.14 . 使用gradle 13.2和JDK jdk1.8.0_25.jdk . 从图像中可以看出我的android SDK是完全最新的

enter image description here

enter image description here

enter image description here

这是我的傻瓜

android {
    signingConfigs {
        TESTING {
            keyAlias '****'
            keyPassword '***'
        }
    }
    compileSdkVersion 21
    buildToolsVersion "21.0.2"
    defaultConfig {
        applicationId "********"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        debug {
            applicationIdSuffix '.dev'
        }
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.TESTING
        }
    }
    productFlavors {
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.android.support:support-v4:21.+'
    compile 'com.android.support:support-v13:21.+'
    compile 'com.android.support:appcompat-v7:21.+'
    compile 'com.android.support:cardview-v7:21.+'
    compile 'com.android.support:recyclerview-v7:21.+'
    compile 'com.google.android.gms:play-services:6.1.+'
    compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}

值/ style.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="AppTheme.Base"/>

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

</resources>

值-21 / style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light">
        <!-- Customize your theme using Material Design here. -->
    </style>
</resources>

当我在清理gradle之后自动在gradle中添加appcompat时,我的类中的所有R.都不起作用并显示错误消息“无法解析符号R” . 不仅如此,我还收到以下错误和警告:

信息:Gradle任务[clean,:app:generateDebugSources,:app:generateDebugTestSources]:app:clean:app:preBuild:app:preDebugBuild:app:checkDebugManifest:app:preReleaseBuild:app:prepareComAndroidSupportAppcompatV72100Library:app:prepareComAndroidSupportCardviewV72100Library:app:prepareComAndroidSupportRecyclerviewV72100Library :app:prepareComAndroidSupportSupportV132100Library:app:prepareComAndroidSupportSupportV42100Library:app:prepareComGoogleAndroidGmsPlayServices6171Library:app:prepareDebugDependencies:app:compileDebugAidl:app:compileDebugRenderscript:app:generateDebugBuildConfig:app:generateDebugAssets UP-TO-DATE:app:mergeDebugAssets:app:generateDebugResValues UP-TO-DATE :app:generateDebugResources:app:mergeDebugResources /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/drawable-mdpi/abc_ab_share_pack_holo_dark.9 .png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件ited /Users/User/AndroidStudioProjects/TEST/app/src/main/res/drawable-mdpi/ic_drawer.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/ Users / User / AndroidStudioProjects / TEST / app /src/main/res/drawable-hdpi/ic_drawer.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/ Users / User / AndroidStudioProjects / TEST / app / src / main / res / drawable-xhdpi / ic_drawer.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0 /res/drawable-xhdpi/abc_ab_share_pack_holo_dark.9.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android . support / appcompat -v7 / 21.0.0 / res / drawable-hdpi / abc_spinner_mtrl_am_alpha.9.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/ Users / User / AndroidStudioProjects / TEST / app / build / intermediates / explosion-aar / com.android.support / appcompat -v7 / 21.0.0 / res / drawable-hdpi / abc_ab_share_pack_holo_light.9.png:libpng警告:iCCP:无法识别已知的sRGB配置文件已编辑/Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/drawable-hdpi/abc_ab_share_pack_holo_dark.9.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件/Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/drawable- xhdpi / abc_ab_share_pack_holo_light.9.png:libpng警告:iCCP:无法识别已编辑的已知sRGB配置文件:app:processDebugManifest警告:/Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml:11:5警告:AndroidManifest.xml上的元素使用权限#android.permission.ACCESS_COARSE_LOCATION:11:5与AndroidManifest.xm中声明的元素重复l:9:5警告:/Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml:12:5警告:元素在AndroidManifest.xml上使用权限#android.permission.ACCESS_FINE_LOCATION:12:5重复使用在AndroidManifest.xml中声明的元素:10:5 /Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml警告:(11,5)元素在AndroidManifest.xml上使用权限#android.permission.ACCESS_COARSE_LOCATION :11:5与在AndroidManifest.xml中声明的元素重复:9:5警告:(12,5)元素在AndroidManifest.xml中使用权限#android.permission.ACCESS_FINE_LOCATION:12:5与在AndroidManifest.xml:10:5:app:processDebugResources /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/ values.xml错误:(36,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(36,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(36,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(36,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v14/values.xml错误:(9,21)否找到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(9,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(9,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . 错误:(9,21)找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v21/values.xml错误:(298,21)否找到与给定名称匹配的资源:attr'android:overlapAnchor' . 错误:(298,21)找不到与给定名称匹配的资源:attr'android:overlapAnchor' . 错误:任务':app:processDebugResources'的执行失败 . com.android.ide.common.internal.LoggedErrorException:无法运行命令:/Users/User/android-sdk/build-tools/21.0.2/aapt package -f --no-crunch -I / Users / User / android-sdk / platforms / android-21 / android.jar -M /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/manifests/full/debug/AndroidManifest.xml -S / Users / User / AndroidStudioProjects / TEST / app / build / intermediates / res / debug -A / Users / User / AndroidStudioProjects / TEST / app / build / intermediates / assets / debug -m -J / Users / User / AndroidStudioProjects / TEST / app / build / generated / source / r / debug -F /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/resources-debug.ap_ --debug-mode --custom-package andreou.maria.com.TEST -0 apk --output -text-symbols / Users / User / AndroidStudioProjects / TEST / app / build / intermediates / symbols / debug错误代码:1输出:/ Users / User / AndroidStudioProjects / TEST / app / build / intermediates / res / debug / values-v11 /values.xml:33:错误:错误:找不到与给定名称匹配的资源:attr'android:actio nModeShareDrawable” . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:10:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:39:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:17:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:45:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:24:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:51:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:31:错误:错误:找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v21/values.xml:287:错误:错误:找不到与给定名称匹配的资源:attr'android:overlapAnchor' . /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v21/values.xml:295:错误:错误:找不到与给定名称匹配的资源:attr'android:overlapAnchor' . 信息:BUILD FAILED信息:总时间:5.93秒信息:11错误信息:4警告信息:在控制台中查看完整输出

任何人都可以帮我?难道我做错了什么?

谢谢

2 回答

  • 2

    以下是一些可行的提示 .

    将buildToolsVersion更改为已安装的最新版Android SDK Build-tools . 在你的情况下, 21.1 虽然21.1.2现在可用 .

    根据应用中使用的API,减少minSdkVersion .

    检查您的清单中的重复许可声明 .

    最重要的是,将依赖项更改为“com.android.support:appcompat-v7: 21.0.+ ' instead of ' com.android.support:appcompat-v7: 21.+

    同步并重建项目 .

    我希望这有帮助 .

  • 1

    我得到了同样的错误,我通过更正Jdk路径(Java Development Kit所在的目录)修复了它 .

    • 检查build.gradle文件是否有错误或警告

    • 确保JDK路径不是1.6,它应该是1.7或更高 . 我正在使用 :

    /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

    • 重建项目/同步Gradle

相关问题