android studio
Android Studio的project 相当于 Eclipse的workspace
Android Studio的module 相当于 Eclipse的project
- Make Project:编译Project下所有Module,一般是自上次编译后Project下有更新的文件,不生成apk。
- Make Selected Modules:编译指定的Module,一般是自上次编译后Module下有更新的文件,不生成apk。
- Clean Project:删除之前编译后的编译文件,并重新编译整个Project,比较花费时间,不生成apk。
- Rebuild Project:先执行Clean操作,删除之前编译的编译文件和可执行文件,然后重新编译新的编译文件,不生成apk,这里效果其实跟Clean Project是一致的,这个不知道Google搞什么鬼~~
- Build APK:前面4个选项都是编译,没有生成apk文件,如果想生成apk,需要点击Build APK。
- Generate Signed APK:生成有签名的apk。
注意:
对于Clean和Rebuild看到最后的效果是一样的。
平时小的改动直接用Make Project就可以,可以看到只有它有快捷方式,表明这个功能要经常用。对于一些大的改动比如更新lib,大功能修改等,用Clean或Rebuild,毕竟这两个编译起来要费时间。
如果有的时候死活编译不过,多试试Clean吧,会有意想不到的效果!
1. 报错:Unrecognized VM option '+UseCodeCacheFlushing'
Could not create the Java virtual machine.
在studio安装目录下bin里找到*.vmoptions文件,删除-XX:+UseCodeCacheFlushing
2. 报错:Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
定位到目录 C:\Users\<username>\.gradle
创建文件gradle.properties
内容:org.gradle.jvmargs=-Xmx512m
重启你的Android Studio项目,搞定。
通俗的说:gradle是打包用的。
总结一下:
- Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署......,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用.
- Gradle不是一种编程语言,它不能帮你实现软件中的任何实际功能
链接:https://www.zhihu.com/question/30432152/answer/79547641
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
以在eclipse里面写java程序为例
为什么需要打包:
最初写完了,直接右键run就可以了。但是程序写完了毕竟是要发布到服务器上或者给别人用的,你第一不可能让所有要运行的人都装个eclipse,第二不可能把源代码公布给所有人。所以你需要把你的代码发布成二进制形式,让其它环境方便运行,这就是打包。
为什么用ant
打包的时候要做很多事,比如说配置文件中的用户名和密码,你本地开发和程序实际运行时的内容肯定不一致,所以需要有两个文件,开发的时候用一个,实际运行的时候用一个。这样每次打包的时候都要重复的做这些事,ant可以让你用xml的形式把这些事情写成脚本,然后自动运行。
为什么用maven
你的项目要用很多jar包,比如你写日志要用个log4j吧,连数据库要用个connector吧。这年头写程序不用个spring都不好意思出门,下载下来的spring包打开一看,密密麻麻的好几十个jar,不知道用哪个不用哪个。而且,即便是你一狠心把这些jar包都放进来,很大可能性还是不能运行,因为还要依赖其它的jar包。哪天想升级个spring小版本,所有jar包都要重来一遍,你也不记得哪些是由于spring引进来的jar包了。
所以有了maven,你只要配置一下说我要用spring 3,所有jar包都给你下载好了,你直接运行就行了。赶明儿想升级版本,直接把3改成4,新的jar包也给你下载好了。
然后?
用了maven,jar包是方便了,但我打包的时候还是有好多事要做啊,然后你会发现maven实在是不知道怎么做这些事,于是开始怀念ant。
gradle就是又能干maven的活,又能干ant的活,用groove语言写脚本,表达能力还更强。
就这意思。
Android Studio教程从入门到精通
Android模拟器Genymotion使用详解
Android Studio自定义模板 写页面竟然可以如此轻松