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

时间:2014-11-05 09:39:46

标签: android android-layout android-studio material-design

我尝试在项目中使用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

这是我的gradle

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.都不起作用并显示错误消息&#34;无法解析符号R&#34;。不仅如此,我还会收到以下错误和警告:

  

信息:Gradle任务[clean,:app:generateDebugSources,   :app:generateDebugTestSources]:app:clean:app:preBuild   :app:preDebugBuild:app:checkDebugManifest:app:preReleaseBuild   :应用:prepareComAndroidSupportAppcompatV72100Library   :应用:prepareComAndroidSupportCardviewV72100Library   :应用:prepareComAndroidSupportRecyclerviewV72100Library   :应用:prepareComAndroidSupportSupportV132100Library   :应用:prepareComAndroidSupportSupportV42100Library   :应用:prepareComGoogleAndroidGmsPlayServices6171Library   :app:prepareDebugDependencies:app:compileDebugAidl   :app:compileDebugRenderscript:app:generateDebugBuildConfig   :app:generateDebugAssets UP-TO-DATE:app:mergeDebugAssets   :app:generateDebugResValues UP-TO-DATE:app:generateDebugResources   :应用: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配置文件   编辑   /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/exploded-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   警告:元素   uses-permission #android.permission.ACCESS_COARSE_LOCATION at   AndroidManifest.xml:11:5与声明的元素重复   的AndroidManifest.xml:9:5   警告:/Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml:12:5   警告:元素   uses-permission #android.permission.ACCESS_FINE_LOCATION at   AndroidManifest.xml:12:5与声明的元素重复   的AndroidManifest.xml:10:5   /Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml   警告:(11,5)元素   uses-permission #android.permission.ACCESS_COARSE_LOCATION at   AndroidManifest.xml:11:5与声明的元素重复   AndroidManifest.xml:9:5警告:(12,5)元素   uses-permission #android.permission.ACCESS_FINE_LOCATION at   AndroidManifest.xml: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   &#39;机器人:actionModeShareDrawable&#39 ;.错误:(36,21)未找到资源   与给定名称匹配:attr&#39; android:actionModeShareDrawable&#39;。   错误:(36,21)找不到与给定名称匹配的资源:attr   &#39;机器人:actionModeShareDrawable&#39 ;.错误:(36,21)未找到资源   与给定名称匹配:attr&#39; android:actionModeShareDrawable&#39;。   /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   &#39;机器人:actionModeShareDrawable&#39 ;.错误:(9,21)未找到资源   与给定名称匹配:attr&#39; android:actionModeShareDrawable&#39;。   错误:(9,21)找不到与给定名称匹配的资源:attr   &#39;机器人:actionModeShareDrawable&#39 ;.错误:(9,21)未找到资源   与给定名称匹配:attr&#39; android:actionModeShareDrawable&#39;。   /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   &#39;机器人:overlapAnchor&#39 ;.错误:(298,21)没有找到资源   匹配给定的名称:attr&#39; android:overlapAnchor&#39;。错误:执行   任务失败&#39;:app:processDebugResources&#39;。

     
    

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     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:10:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:39:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:17:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:45:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:24:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v11/values.xml:51:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v14/values.xml:31:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:actionModeShareDrawable&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v21/values.xml:287:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:overlapAnchor&#39 ;.
      /Users/User/AndroidStudioProjects/TEST/app/build/intermediates/res/debug/values-v21/values.xml:295:     错误:错误:找不到与给定名称匹配的资源:attr     &#39;机器人:overlapAnchor&#39 ;.信息:BUILD FAILED信息:总计     时间:5.93秒信息:11错误信息:4警告     信息:请参阅控制台中的完整输出

  

任何人都可以帮助我吗?我做错了吗?

谢谢

2 个答案:

答案 0 :(得分:2)

以下是一些可行的提示。

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

根据应用中使用的API,缩小minSdkVersion。

检查您的清单中是否有重复的权限声明。

最重要的是,将您的依赖项更改为'com.android.support:appcompat-v7:21.0。+ '而不是'com.android.support:appcompat-v7: 21。+

同步并重建项目。

我希望这会有所帮助。

答案 1 :(得分:1)

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

  • 检查build.gradle文件是否有错误或警告
  • 确保JDK路径不是1.6,它应该是1.7或更高。我正在使用:

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

  • 重建项目/同步Gradle