常见问题记录解决方案

Gradle打包修改包名

   android.applicationVariants.all { variant ->
        variant.outputs.all {
            output ->
                def outputFile = output.outputFile
                if (outputFile.name.contains("release")) {
                    def fileName = "bugly_${variant.versionName}" + "_${variant.name}.apk"
                    outputFileName = new File("../release/", fileName)
                } else if (outputFile.name.contains("debug")) {
                    def fileName = "bugly_${variant.versionName}" + "_${variant.name}.apk"
                    outputFileName = new File("../debug/", fileName)
                }
        }
    }


解决RecyclerView headView 中的editText等控件导致焦点变化,recyclerView莫名滑动,ScrollView内部嵌套Recyclerview,防止recyclerview自动获得焦点

mRecyclerView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);

在ScrollView下面的LinearLayout加上android:descendantFocusability="blocksDescendants"属性, 截获ListView的焦 点, 从而达到禁止ScrollView自动滚动.顺便解释下这个属性的其他用法:

该属性是当一个为view获取焦点时,定义viewGroup和子控件两者之间的关系。属性的值有三种:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

android 跳转activity,清空之前activity栈

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("kmm://login"));
 intent.putExtras(bundle);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

startActivity的时候传递FLAG_ACTIVITY_CLEAR_TASK这个标志,那么这个标志将会清除之前所有已经打开的activity.然后将会变成另外一个空栈的root,然后其他的Activitys就都被关闭了.这个方法必须跟着{@link #FLAG_ACTIVITY_NEW_TASK}一起使用.
一定要和FLAG_ACTIVITY_NEW_TASK一起使用!!!

1、对于clipToPadding 默认是true, 这个属性一般都是viewgrounp对象才会用到, 他的意思就是 对于padding 所占的尺寸大小也绘制 其他的item的view,
2.对于clipChildren 默认是true,这个属性是让子view不受父view大小的限制,可以超过父view的宽高,延伸到周围view内部

Gradle相关

Error:Unable to resolve dependency for ':@debug/compileClasspath',Could not resolve project

造成这个错误的原因是app下build.gradle里面的buildtypes配置和其他module下build.gradle中的buildtypes配置不一样,修改成一致即可

解决Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
把Android studio导入到IEDA,安装app,出现了Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]这个问题.

解决:gradle.properties中加入android.injected.testOnly=false

另外:AS项目导入IEDA出现This Gradle plugin requires a newer IDE able to request IDE model level 3

这个错误解决gradle.properties中加入android.injected.build.model.only.versioned=3

安装Node.js和npm

nvm

你可能感兴趣的:(常见问题记录解决方案)