一、常用技巧
1.代码格式化:
Code->Reformat Code
2.自动删除多余的import
Code->Optimize imports
3.从工程中查找某个字符串
Edit->Find->Find in path
4.如果想把菜单上的功能添加到工具栏
工具栏上右单机->Custom …->Main Toolbar->Add After…->弹出的菜单中选择添加项
如果要修改工具栏图标,点击Edit Action Icon,注意工具栏图标大小为16*16
5.如果Gradle build 下载对于版本Grandle出错时,打开c盘下的对应Grandle删除后重新Sync,
例如1:C:\Users\owner.gradle\wrapper\dists\gradle-4.1-all\bzyivzo6n839fup2jbap0tjew\下的所有文件都删除,然后回到Android studio里点击Retry
例如2:下载(https://mirrors.cloud.tencent.com/gradle/)对应的zip版本,放到C:\Users\owner.gradle\wrapper\dists\gradle-4.1-all\bzyivzo6n839fup2jbap0tjew\目录下,android studio上重新Sync from gradle
6.删除一整行代码
ctrl+y
7.ndk调试
1.SDK-Manager增加 cmake 和 LLDB
8.私有变量自动加 “m_” 前缀
File->Settings->Editor->CodeStyle->Java->Code Generation
在Naming项下的 Field行 name prefix列 下填写m_ 即可。
9.在运行app项目时Run窗口或者Build窗口日志出现乱码
用记事本分别打开studio.exe.vmoptions或 studio64.exe.vmoptions
添加 -Dfile.encoding=UTF-8 ,例如
...
-Djna.nosys=true
-Djna.boot.library.path=
-Didea.vendor.name=Google
-Dfile.encoding=UTF-8
10. Logcat窗口打印出来的日志出现乱码
1)打开Android Studio,然后在菜单栏找到 Help ——> Edit Custom VM Options选项
2)点击后,如果没有此文件,提示下面的窗口,直接点击创建
3)在打开的文件窗口中,增加下面一行代码,保存即可
-Dfile.encoding=UTF-8
关闭重新启动Android Studio
二、androd.support.v4.app.Fragment 和 android.app.Fragment的区别
1.支持版本:
1)androd.support.v4.app.Fragment
android:miniSdkVersion=“4” 即1.6之后
2)android.app.Fragment
android:miniSdkVersion=“11” 即3.0之后
2.activity中获取方法
1)androd.support.v4.app.Fragment
getSupportFragmentManager().findFragmentById(R.id.userList) 继承android.support.v4.app.FragmentActivity
2)android.app.Fragment
getFragmentManager().findFragmentById(R.id.userList) 继承Activity
3.标签使用情况
1)androd.support.v4.app.Fragment不能使用<fragment>标签,否则抛出android.view.inflateException:Binary XML file line #7:Error inflating class fragment异常
2)android.app.Fragment可以使用<fragment>标签
三、其他:
1.compile转而使用implementation和api这两个关键字,个人总结一些区别
1)implementation类似于“praivte”,module引用implementation只应用于自身,其他module如果dependency该module,无法使用implementation表明的路径。
2)api类似于“public”,其他module如果dependency该module,可以使用implementation表明的路径。也就跟compile类似
2.gradle中加入多moudle
直接修改settings.gradle(当然你也可以利用IDE的ui上操作),这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,setting.gradle对应的是gradle中的Settings对象。
例子1:
include ':app' ,':sdk'
例子2:
include ':app'
include(':sdk')
project(':sdk').projectDir = new File(settingsDir, '../CommonSDK/')
说明:
例子1中多个module在都做主目录下include后用逗号隔开即可。例子2中 include调用后,生成了一个名为:sdk的Project对象,project(‘:sdk’)取出这个对象,设置Project的 projectDir属性(请看Project类的文档)
参考:
gradle中的Setting对象帮助文档:(https://docs.gradle.org/current/dsl/org.gradle.api.initialization.Settings.html)
Q&A
问题1:Unfortunately you can’t have non-Gradle Java modules and Android-Gradle modules in one project.
解决:很多出现这个提示是由于不是通过IDE增加Modules而是直接在文件夹下 增加或者修改Modules名称导致IDE并不知道你修改了,所以解决办法是:先关闭android studio,然后删除主目录下的.idea文件夹,然后再重新打开项目,让其重新生成.idea文件夹即可。当然其他有人说通过“ File -> Invalidate Caches / Restart”的方式解决,我没遇到过可能是其他原因导致,遇到的小伙伴可以尝试下
问题2:
新的android studio编译时会有下面警告(gradle):
Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’.
It will be removed at the end of 2018
解决:意思是 compile关键字会在2018年底取消,会被api替代,所以会报这个警告,解决警告的方式就是换成api就好了。例如:compile ‘org.greenrobot:eventbus:3.0.0’ 替换成 api ‘org.greenrobot:eventbus:3.0.0’
问题3:
java.lang.RuntimeException: Manifest merger failed with multiple errors, see logs
问题分析:这里主要是Manifest在merger时出错,
1.打开AndroidManifest.xml,
2.点击Merged Manifest标签,可以看到哪里出错了,进行修正
如图
问题4:Android studio更新插件失败的解决方案,错误信息:Plugin Fierbase Services was not installed:Cannot download
解决办法:把下载链接复制粘贴在浏览器上或者迅雷,把链接头部的http改为https就可以下载了,下载完插件之后可以直接外部安装更新插件,然后重启就可以了,如下图:
重启后可以看到firebase 版本4.0.0
问题5:修改在C盘中.gradle文件夹位置
方案:在系统环境变量中添加GRADLE_USER_HOME后重启电脑即可,参考如下图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)