说实话 開始接触这个工具 真的认为非常恶心 毕竟大陆被墙  非常多东西用起来不是非常方便 并且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'定义为Library
dependencies {
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使用心得的更多相关文章

  1. (转)Android studio 使用心得(五)—代码混淆和破解apk

    这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...

  2. Android studio 使用心得(六)—android studio 如何加载.so文件

    之前一直没怎么注意,以为.so文件android为像eclipse一样直接加载,但是直到昨天我在android studio上调试公司项目推送消息的时候,才发现,.so文件原来没有加载成功. 可能之前 ...

  3. Android studio 使用心得(四)—android studio 多渠道打包(二)

    Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...

  4. Android studio 使用心得(五)—代码混淆和破解apk

    这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...

  5. Android studio 使用心得(三)—从Eclipse迁移到Android studio

    断断续续的也算是把eclipse上的代码成功迁移到android studio上来了,现在,我同事继续用eclipse,我用android studio,svn上还是之前eclipse的项目,迁移成功 ...

  6. Android studio使用心得(二)— 打包签名apk发布

    1.—–Android Studio菜单   Build->Generate Signed APK 2.——Create new.. 3.——-跟eclipse里面一样,添加keystore 信 ...

  7. Android studio 使用心得(一)—android studio快速掌握快捷键

    大家都是从eclipse转过来了,所以早就熟悉了eclipse那一套快捷键. File—>settings—>keymap–>选择eclipse就搞定 话是这么说,但是自动化提示的变 ...

  8. Android Studio使用心得 - 简单介绍与环境配置

    FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38544823,未经本人允许请勿用于商业用途.感谢支持! 关 ...

  9. Android Studio使用心得 - 常见问题集锦

    FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/38669939,未经本人允许请勿用于商业用途,感谢支持! 整 ...

随机推荐

  1. zabbix对数据盘磁盘容量进行监控

    示例将数据盘挂载到 /mnt目录 , 对 /mnt目录进程容量监控 item 添加对 /mnt 目录的监控项 tragger 添加触发项 这样完成对一个数据盘磁盘容量的监控

  2. .net连接MySQL的方法

    摘自:http://www.cnblogs.com/huayangmeng/archive/2011/04/06/2006866.html 最近要用C#做一个东西,连接之前项目的数据库(用MySQL建 ...

  3. GitHub搭建博客过程

    1.参考 我的 Github 个人博客是怎样炼成的 http://www.jianshu.com/p/4fd3cb0a11da 到了第三节"三.使用 Jekyll 搭建个人博客"时 ...

  4. Python的copy()与deepcopy()区别

    Python的copy()与deepcopy()分别对应浅拷贝和深拷贝. 它们的理论区别: deepcopy():深复制(也就是寻常意义上的复制),即将被复制对象完全再复制一遍作为独立的新个体单独存在 ...

  5. JS中函数的 this 各种指向

    this是js的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 情形1:如果一个函数中有this,但是它没有被上一级的对象所调用, ...

  6. iOS开发之多媒体播放

    iOS开发之多媒体播放 iOS sdk中提供了很多方便的方法来播放多媒体.本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件. AudioToolbox framework 使用 ...

  7. List Set Map以及子接口用法总结(转)

    Collection ├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap └WeakHashMap list 和 ...

  8. Linux时间子系统(十五) clocksource

    一.前言 和洋葱一样,软件也是有层次的,内核往往需要对形形色色的某类型的驱动进行抽象,屏蔽掉其具体的特质,获取该类驱动共同的逻辑,而又根据这些逻辑撰写该类驱动的抽象层.嵌入式系统总是会提供timer的 ...

  9. Javascript变量名混淆细节

    前言 UglifyJS会对JS文件的变量名进行混淆处理.要理解Javascript变量混淆的细节.我们须要回答下面几个问题: 1.遇到一个变量myName,我们怎么知道这个myName变量要不要混淆 ...

  10. -174dBm的含义

    常温下(290K)一个热电阻会产生少量的噪声能量P=kTB k = 玻尔兹曼常数(1.38 x 10–23 J/K)T = 温度(K)B = 噪声带宽(Hz) 由于总噪声功率是测量带宽的函数,数值通常 ...