1.今天配置svn.checkout项目的时候出现无法弹出登录框的问题,再确认清除了用户缓存之后发现电脑和服务器不在同一个网段,更改连接的路由后成功解决问题。
2.3.5版本后的android studio无需再配置代理,否则会出现sdk管理器无法连接,gradle无法下载的问题。
3.根据已有xml布局创建自定义组件,继承Linalayout时Activity闪退,需继承自FramLayout才可以正常运行
4.注意TextView调用setText时避免传入Int类型参数.
5.全角模式下的空格,汉字,数字,符号等所占比例是一致的,因此可以用全角模式下的空格来进行文字对齐。
6.svn更新项目报错Node remains in conflict
terminal : svn revert --depth=infinity D:\00zzj\00-SVN\cabinet
7.andoid studio 在连接手机调试的时候,点击Run或Debug运行,结果手机全是Debug调试。此时只需将手机中开发者选项关闭、重新开启就ok了
8.使用databinding+navigation在activity中添加标签<fragment>时出现Caused by: java.lang.IllegalArgumentException: Binary XML file line #75: Duplicate id 0x7f0800c5, tag null, or parent id 0xffffffff with another fragment for androidx.navigation.fragment.NavHostFragment.经过半天的搜索最终找到是因为在activity中两次调用setContentView ,一次是使用setContentView ,第二次是使用DataBindingUtil.setContentView() 。只需使用DataBindingUtil.setContentView() ,它会内部内部调用setContentView()即可.
9.java 和kotlin混合编程时,如果出现java调用kotlin类时import错误,大概率因为没有在项目中添加kotlin支持:
①在项目的build.gradle→buildscript中添加 [ ext.kotlin_version= '1.3.72' ]//相当于一个常量,用来表示要导入的kotlin版本;在dependecies中添加[ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" ]
②在app的build.gradle中添加apply plugin:'kotlin-android' apply plugin:'kotlin-android-extensions',然后在dependencies中添加[ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" ],同步后即可
10.横屏应用在调用devicePolicyManager.lockNow();方法后会出现Activity走onDestroy方法的现象,此时在AndroidManifest.xml的<activity>中添加:android:configChanges="orientation|keyboardHidden|screenSize"属性即可.
11.使用MultiLiveData时会出现obser调用两次及fragment共用viewmodel时多次调用的问题,这时需使用singleEventData避免出现此问题,原理为添加原子计数器,时间消费后便将liveData标记为不可接收
12.org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.
配置环境变量: 变量名为: JAVA_TOOL_OPTIONS 变量值为:-Dfile.encoding=UTF-8
配置完成重启Studio即可,特殊情况重启电脑。
13. 添加excel-plus导出表格时,使用@Data注解实体类,编译时提示annotationProcessor错误,google后排除原依赖中的lombok,重新单独添加后成功:
implementation('io.github.biezhi:excel-plus:1.0.8'){
exclude group:'org.projectlombok',module:'lombok'
}
compileOnly 'org.projectlombok:lombok:1.18.4'
annotationProcessor 'org.projectlombok:lombok:1.18.4'
但又有新的问题产生,提示‘’Program type already present: com.baidu.ocr.sdk.BuildConfig‘,初步估计时因为删除依赖后缓存导致的,clean -> rebuild后问题解决。
14.项目Build的时候会出现[Fatal Error] core-ktx-1.3.2.pom:3:3: 文档中根元素前面的标记必须格式正确。的报错,虽不影响app运行,但是无奈强迫症,看不得这些:
经过一番查找确定问题是由于project的repositories中alibaba的maven地址的pom解析问题((13条消息) Gradle build 时出现 Fatal Error 文档中根元素前面的标记必须格式正确_yadesyoung的博客-CSDN博客),在修改回google(),jcenter()后报错消失,但由于jcenter()放置在了google()前面,导致出现Could not find aapt2-proto.jar错误.好吧,我调顺序就是[U•ェ•*U](这里注意两个仓库的先后顺序,google要在前面,不然会报错~android - Could not find aapt2-proto.jar - Stack Overflow),成功,但引入了一个新的问题就是,google上的部分资源下载贼慢,每次sync都要等比较长时间,二番查找得知了alibaba镜像网站的正确用法,https://maven.aliyun.com/mvn/guide;
正确配置完ali镜像maven后国探sync快乐了很多,也不会出现开始的错误.
15.source insight New project后无法跳转代码:symbol not found:
在主浏览页面右侧的project Files底边工具栏空白处右键,选择Open project, 然后选择需要的项目,选择ok,会提示是否需要Synchronizing ,当然是需要啦~
参考链接:(13条消息) 使用Source Insight时出现"Symbol not found"的问题 —代码跳转_flyingrhym的专栏-CSDN博客
16. Android studtio 阿里镜像仓库配置
//https://maven.aliyun.com/mvn/guide
maven { url 'https://maven.aliyun.com/repository/public'}
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
mavenLocal()
mavenCentral()
17.android5.1系统真机调试含有jni项目的时候,会出现lldmoule一直无法通过的问题,goole,百度了很久依然无法解决,删除.lldb文件夹后拷贝同事的回来也是无法解决.重装as后kill. 猜测还是.lldb文件夹出了问题