Android开发问题记录

1、解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

原因就是使用了productFlavors分包,解决方法就是在build.gradle中的defaultConfig中添加一个flavorDimensions "versionCode"就可以了

在主app的build.gradle里面的
defaultConfig {
targetSdkVersion:***
minSdkVersion :***
versionCode:***
versionName :***
//版本名后面添加一句话,意思就是flavor dimension 它的维度就是该版本号,这样维度就是都是统一的了
flavorDimensions "versionCode"
}

2、Can't process attribute android:strokeColor="@color/white":eferences to other resources are not supported by build-time PNG generation.

解决办法

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}

3、error: style attribute ‘@android:attr/windowEnterAnimation’ not found.

原因
提示我们找不到@android:attr/windowEnterAnimation,因为已经不支持@开头使用android自带的属性,我们只要把@符号删掉就可以了。

4、Gradle Permission denied解决方案

输入 chmod +x gradlew

5、注解报错Annotation processors must be explicitly declared now.

在app的build中
android {
    ...
    defaultConfig {
        ...
        //添加如下配置就OK了
        javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
    }
    ...
}

6、Android org.xmlpull.v1.XmlPullParserException: Binary XML file line #0: invalid drawable tag vector错误的解决办法

在Android中使用Vector来替代传统的图片有很多好处,比如自适应,体积小,不失真等。但是,在Android5.0以下版本使用时会有兼容性问题,在Androi 5.0以下的设备可能会报这样的错误:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector

解决办法
1.在defaultConfig下面添加声明
vectorDrawables.useSupportLibrary = true
2.在你的Application中里加上下面的代码来启用Vector

    /**
     * 兼容5.0以下系统
     */
    static {
        /*获取当前系统的android版本号*/
        int currentApiVersion = android.os.Build.VERSION.SDK_INT;
        if (currentApiVersion < Build.VERSION_CODES.LOLLIPOP)//适配android5.0以下
            AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }

3.对于ImageView这样的控件,要兼容Vector图像,只需要将之前的android:src属性,换成app:srcCompat即可


  1. 创建选择器,


    

你可能感兴趣的:(Android开发问题记录)