Android Studio使用记录
关于android studio
Android Studio是谷歌推出了新的Android开发环境。打开android官网,我感觉谷歌很重视这个新的开发工具,势必要替换eclipse的节奏。
网上简单搜了一下android studio的特性,如下:
- 基于Gradle的构建支持
- Android 专属的重构和快速修复
- 提示工具以捕获性能、可用性、版本兼容性等问题
- 支持ProGuard 和应用签名
- 基于模板的向导来生成常用的 Android 应用设计和组件
- 功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览
背景介绍
Android Studio除了IntelliJ功能,Android Studio还提供:基于Gradle的构建支持;Android特定重构和快速修复;提示工具更好地对程序性能、可用性、版本兼容性和其问题进行版本捕捉;支持ProGuard和应用签名功能;自带布局编辑器,可以让你拖放UI组件,并在多个配置上预览布局等等。
修改android studio为eclipse快捷键
实在不习惯android studio的快捷键,偶然发现它支持使用eclipse的快捷键方式,设置方式如下
打开android studio
点击设置(settings)按钮,进入设置界面,选择Keymap选项
这里有Visual studio、JBuilder、NetBeans等工具的选项,我习惯用Visual studio和eclipse,但快捷键还是喜欢eclipse的,你也可以选择自己爱用的,这里突然感觉android studio还是很人性化的。
更改样式
1.修改代码字体,点击设置(settings),然后左下角Editor -> Colors&Fonts -> Font
这里修改字体需要另存为一组新的样式才可以修改字体,选择Save As添加一个自定义名称,OK,样式就可以修改啦
另外LogCat里的文字也是可以修改颜色的,setting->editor->color&font->Android Logcat
2.修改主题
修改主题路径,setting->editor->color&font->Android Logcat
3.setting中的设置条目很多,有添加插件的等等…
问题记录之Task
Tool -> (快捷键 Alt + Shift + T)
命令行之Terminal
新建项目之后,点击Studio左下角Terminal,弹出命令行(终端)运行构建命令,执行gradle -v测试如下:
- gradle –help
- gradle tasks //列出task列表
- gradle asD (gradle assembleDebug) //编译debug打包
- gradle asR (gradle assembleRelease) //编译release打包
- gradle asD –refresh-dependencies //强制刷新依赖
- gradle asD –parallel //并行编译
- gradle asD –parallel-threads 3
多渠道打包
在AndroidManifest.xml新加一项
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
在项目下的build.gradle中的android选项下添加如下配置
productFlavors {
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
_360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
用户自定义工程结构
当默认的项目结构不适用的时候,你可能需要去配置它。根据Gradle文档,重新为Java项目配置sourceSets可以使用以下方法:
sourceSets {
main {
java {
srcDir 'src/java'
}
resources {
srcDir 'src/resources'
}
}
}
注意:srcDir将会被添加到指定的已存在的源文件夹中(这在Gradle文档中没有提到,但是实际上确实会这样执行)。
替换默认的源代码文件夹,你可能想要使用能够传入一个路径数组的srcDirs来替换单一的srcDir。以下是使用调用对象的另一种不同方法:
sourceSets {
main.java.srcDirs = ['src/java']
main.resources.srcDirs = ['src/resources']
}
测试,打开project目录,将main文件下的java文件代码剪切到src文件下,在build.gradle中的android
标签里加入上述代码,工程结构如下
运行,ok
想要获取更多信息,可以参考Gradle文档中关于Java Pluign的部分。
Android Plugin使用的是类似的语法。但是由于它使用的是自己的sourceSets,这些配置将会被添加在android对象中。
以下是一个示例,它使用了旧项目结构中的main源码,并且将androidTest sourceSet组件重新映射到tests文件夹。
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
androidTest.setRoot('tests')
}
}
注意:由于旧的项目结构将所有的源文件(java,aidl,renderscripthe和java资源文件)都放在同一个目录里面,所以我们需要将这些sourceSet组件重新映射到src目录下。
注意:setRoot()方法将移动整个组件(包括它的子文件夹)到一个新的文件夹。示例中将会移动src/androidTest/到tests/下。 以上这些是Android特有的,如果配置在Java的sourceSets里面将不会有作用。
以上也是将旧构建系统项目迁移到新构建系统需要做的迁移工作。
持续修改更新中…