Android Studio使用心得
说实话 開始接触这个工具 真的认为非常恶心 毕竟大陆被墙 非常多东西用起来不是非常方便 并且Eclipse转到Android Studio还是一个跨度 废话不多说 以下 讲下我遇到的问题
1. 安装的时候(Setup Wizard - Download Components) 这个要下载非常长时间 甚至下载不了 (PS: 这个选择并下载2.25G的组件是studio的一个bug,评论里有人提醒,感谢这位同学。
假设网速不行想跳过这步的能够在bin文件夹的idea.properties添加一行:disable.android.first.run=true即可了。mac平台的右键安装包->Show Package Contents 就找到bin文件夹了。)
2.新建项目成功后会下载Gradle,貌似这个过程不翻墙也是能够下载,可是訪问特别慢,建议翻墙下载。那么下载的Gradle到什么地方呢? 打开C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.10-all\d90a2yjknzzhpcfgm937zpcte 你会看到须要的gradle版本号 比如我的是gradle-1.10 我会去百度上搜这个下载 一大堆 下载之后把gradle-1.10-all.zip拷贝到此文件夹下(C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.10-all\d90a2yjknzzhpcfgm937zpcte)
注:假设是导入一个项目一直处于Building 那么去改动项目Gradle文件夹下的gradle-wrapper.properties 文件中边的distributionUrl 最后边改成已经下载的gradle版本号比如 我已经有gradle-2.2.1-all.zip 可是没有gradle-2.4-all.zip的 所以我会改成distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
假设导入项目之后 下载Android studio那么结束掉任务 去改动项目根文件夹下的build.gradle
改成你如今的版本号
dependencies {
classpath 'com.android.tools.build:gradle:1.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
3. 关于build.gradle的配置:
主projectapp:
apply plugin:
'com.android.application' 表示申明此project为主project
dependencies {
compile fileTree(dir:
'libs', include: ['*.jar']) 默认不须要多解释
compile project(':StudioKlowerBase')} 申明主工程依赖的Library 注意拼写规则, 名字要与你的Library名字一样
buildTypes {
release {
minifyEnabled true(表示打包签名的时候 是正式包 会运行混淆代码)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
定义代码混淆文件 注意:proguard-rules.pro要放在主project的文件夹下
}
}
完整代码例如以下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.klowerbase.test"
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':StudioKlowerBase')
}
--Library 工程的配置apply plugin: 'android-library'定义为Librarydependencies {
classpath 'com.android.tools.build:gradle:1.2.2' 定义编译的gradle版本号}完整代码例如以下:buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.2'
}
}
apply plugin: 'android-library' dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
} android {
compileSdkVersion 19
buildToolsVersion "19.1.0" sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
} // Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests') // Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}项目的配置 代码例如以下
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.2' // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
} allprojects {
repositories {
jcenter()
}
}解决Task '' not found in root project '***'.
方法1:删掉.iml里的<component name="FacetManager"> ... </component>
方法2:删掉.iml跟.idea目录 又一次导入程序
经过实验:另外一种方法 有效
因为我用的gradle-2.2.1 项目结构有些变化,例如以下截图:<img src="http://img.blog.csdn.net/20150720130051120?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />最后在附上一些经常使用的快捷键:
Ctrl+Alt+L 格式化代码 Ctrl+Alt+space 代码提示 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+Shift+Space 自己主动补全代码 Ctrl+空格 代码提示 Ctrl+R 替换 Ctrl+Y 删除行(ctrl+x不是删除行。是剪切。 假设不选中,则为剪切当行。 ths for 貌似掉线)
Ctrl+D 复制行
Ctrl+/ 或 Ctrl+Shift+/ 凝视(// 或者/*...*/ )
Android Studio使用心得的更多相关文章
- (转)Android studio 使用心得(五)—代码混淆和破解apk
这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...
- Android studio 使用心得(六)—android studio 如何加载.so文件
之前一直没怎么注意,以为.so文件android为像eclipse一样直接加载,但是直到昨天我在android studio上调试公司项目推送消息的时候,才发现,.so文件原来没有加载成功. 可能之前 ...
- Android studio 使用心得(四)—android studio 多渠道打包(二)
Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...
- Android studio 使用心得(五)—代码混淆和破解apk
这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...
- Android studio 使用心得(三)—从Eclipse迁移到Android studio
断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功 ...
- Android studio使用心得(二)— 打包签名apk发布
1.—–Android Studio菜单 Build->Generate Signed APK 2.——Create new.. 3.——-跟eclipse里面一样,添加keystore 信 ...
- Android studio 使用心得(一)—android studio快速掌握快捷键
大家都是从eclipse转过来了,所以早就熟悉了eclipse那一套快捷键. File—>settings—>keymap–>选择eclipse就搞定 话是这么说,但是自动化提示的变 ...
- Android Studio使用心得 - 简单介绍与环境配置
FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38544823,未经本人允许请勿用于商业用途.感谢支持! 关 ...
- Android Studio使用心得 - 常见问题集锦
FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38669939,未经本人允许请勿用于商业用途,感谢支持! 整 ...
随机推荐
- 重叠IO overlapped I/O 运用详解
2009年02月21日 星期六 下午 07:54 I/O设备处理必然让主程序停下来干等I/O的完成,对这个问题有 方法一:使用另一个线程进行I/O.这个方案可行,但是麻烦. ...
- JavaScript中的闭包(closure)
闭包的特性 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变量不会被垃圾回收机制回收 闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露,主要用于私有的方法和变 ...
- 深入PHP内核之数组
定义: PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字 ...
- kubernetes 无法删除 pod 问题的解决
[摘要] kubernetes 可能会产生垃圾或者僵尸pod,在删除rc的时候,相应的pod没有被删除,手动删除pod后会自动重新创建,这时一般需要先删除掉相关联的resources,实际中还要具体情 ...
- HDUOJ---(1995)汉诺塔V
汉诺塔V Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 【LeetCode】145. Binary Tree Postorder Traversal (3 solutions)
Binary Tree Postorder Traversal Given a binary tree, return the postorder traversal of its nodes' va ...
- php 回收周期(Collecting Cycles)
http://docs.php.net/manual/zh/features.gc.collecting-cycles.php 传统上,像以前的 php 用到的引用计数内存机制,无法处理循环的引用内存 ...
- eclipse 在weblogic部署的工程项目开启远程调试remote config eclipse远程调试配置
确认你的工程在weblogic中跑的起来,然后再结合eclipse debug配置+java debug运行模式搞个调试. 工程能跑起来没问题后,先在eclipse中,点击debug图标 然后点击De ...
- Tomact8部署在linux下启动很慢详解
omcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2015-10-29 15:47:11] INFO ReadProperty:172 - Loading prope ...
- JS打开新窗口防止被浏览器阻止的方法[转]
本文实例讲述了JS打开新窗口防止被浏览器阻止的方法.分享给大家供大家参考.具体分析如下: 用传统的window.open()方式打开新窗口,会被浏览器阻止,那么,我们如何才能让JS打开新窗口不被浏览器 ...