【问题标题】:How to support Material Design on older android devices如何在旧的安卓设备上支持 Material Design
【发布时间】:2015-01-01 10:38:42
【问题描述】:

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

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

这是我的毕业作品

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>

value-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:prepareComAndroidSupportSupportV132100库 :app:prepareComAndroidSupportSupportV42100Library :app:prepareComGoogleAndroidGmsPlayServices6171Library :app:prepareDebugDependencies :app:compileDebugAidl :app:compileDebugRenderscript :app:generateDebugBuildConfig :app:generateDebugAssets 最新 :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 配置文件 已编辑 /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 警告:元素 使用权限#android.permission.ACCESS_COARSE_LOCATION 在 AndroidManifest.xml:11:5 与声明的元素重复 AndroidManifest.xml:9:5 警告:/Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml:12:5 警告:元素 使用权限#android.permission.ACCESS_FINE_LOCATION 在 AndroidManifest.xml:12:5 与声明的元素重复 AndroidManifest.xml:10:5 /Users/User/AndroidStudioProjects/TEST/app/src/main/AndroidManifest.xml 警告:(11, 5) 元素 使用权限#android.permission.ACCESS_COARSE_LOCATION 在 AndroidManifest.xml:11:5 与声明的元素重复 AndroidManifest.xml:9:5 警告:(12, 5) 元素 使用权限#android.permission.ACCESS_FINE_LOCATION 在 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 '机器人:actionModeShareDrawable'。错误:(36, 21) 未找到资源 匹配给定名称:attr 'android:actionModeShareDrawable'。 错误:(36, 21) 找不到与给定名称匹配的资源:attr '机器人: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 '机器人:actionModeShareDrawable'。错误:(9, 21) 未找到资源 匹配给定名称:attr 'android:actionModeShareDrawable'。 错误:(9, 21) 找不到与给定名称匹配的资源:attr '机器人: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 '机器人:重叠锚'。错误:(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:actionModeShareDrawable'。
/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 '机器人:重叠锚'。信息:构建失败信息:总计 时间:5.93 秒信息:11 错误信息:4 警告 信息:在控制台中查看完整的输出

谁能帮助我?我做错了吗?

谢谢

【问题讨论】:

  • Android 支持库:AppCompat

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


【解决方案1】:

这里有一些可行的技巧。

将您的 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.+'

同步并重建项目。

我希望这会有所帮助。

【讨论】:

  • 'com.android.support:appcompat-v7:21.0.+' 这个帮助
【解决方案2】:

我遇到了同样的错误,我通过更正 Jdk 路径(Java 开发工具包所在的目录)来修复它。

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

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

  • 重建项目/同步 Gradle

【讨论】:

  • 正如我在帖子中所说,我使用的是 jdk1.8.0_25.jdk 并且位置正确 /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
猜你喜欢
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多