从头到尾详解Android Studio

1、下载Android Studio

如果你已经安装了eclipse,并且已经安装了Android SDK,那么请只下Android Studio IDE only,下载地址:http://tools.android.com/download/studio/canary/1-3-1

方便大家下载,附上百度网盘的链接,是windows的版本,点击打开链接

2、然后执行下载完成的exe文件 ,一直按下一步,即可安装完Android Studio。

在这过程中我遇到了问题:比如SDK中没有安装android-23,Android Studio会自动下载我未安装的android-23这个版本,但是这个SDK版本中,我有一些是下载不了的,即使已经翻墙了,我们可以配置让Android Studio不去自动下载SDK其余的版本,参考Android Studio第一次启动的Fetching android sdk component information的问题

3、修改字体大小

使用Ctrl + Alt + S唤出Setings对话框。或者点击工具栏中的也可唤出Setting对话框,找到Editor->Colors & Fonts->Font,由于默认的主题不能修改大小,所以我们要使用Sava As重新创建一个主题,然后就可以对Size进行设置了。

4、我们修改了字体的大小,还没有修改左边工程目录结构字体的大小,修改方式为Appearance & Behavior的Appearance,然后点击Override defautl fonts by,然后就可以设置Size了。

5、显示行号Editor->Appearance->Show line numbers,点击选择。

6、修改为eclipse的快捷键,Keymap->Keymaps选择为Eclipse。

7、修改自动提示,默认安装的Android Studio,代码提示是这样的,如果输入intent,那么大写的Intent是不会显示的,那么怎么不区分大小提示呢?

Editor->General->Code Completion,选择None。

8、Android Studio添加jar包

(1)、点击工程目录右键,选择Project Structure,选择Dependencies,点击加号,然后选择Library dependency,就可以选择需要添加的jar包,然后Android Studio会在jcenter的仓库进行下载。

我们看com.android.support.appcompat-v7:22.2.1是不是很熟悉在哪里出现过,没错,就在app目录下的build.gradle里面就有,每当add Library Dependency就会在build.gradle里面增加一项,当前我们也可以在build.gradle里面自行配置,Android Studio也会去jcenter自动下载,这样方便更新版本号。

增加完成的jar包会出现在最下面External Libraries里面。

app目录下的build.gradle:

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.youku.helloworld"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    compile ‘com.android.support:appcompat-v7:22.2.1‘
}

所以我们得出一个结论,上图中Properties Signing Flavors Build Types Dependences,都对应于app目录下的build.gradle。

(2)、参考上图整个工程的结构图,直接把jar包添加到app目录下的libs,就可以使用jar包了,这是为什么呢?我们看到app目录的build.gradle有如下代码:

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])//这是关键,把libs下的jar包也通过gradle构建进来了
    compile ‘com.android.support:appcompat-v7:22.2.1‘
}

9、Android Studio添加依赖的工程,和上面一样,只不过这里选择Module dependency。


     添加成功后,会在app目录下build.gradle里面增加一行,如下:

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])//这是关键,把libs下的jar包也通过gradle构建进来了
    compile ‘com.android.support:appcompat-v7:22.2.1‘
    compile project(‘:AppCenter‘)//增加的这一行,我们看前缀是project
}

10、Android Studio添加so。在src/main目录下新建jniLibs,默认的so文件应该放在这个目录中。

如果不想放在这个目录中,比如想放在和libs同级的目录的jniLibs中,怎么办呢?答案是修改app目录下的build.gradle,加上如下代码:

sourceSets {
        main {
            jniLibs.srcDirs = [‘jniLibs‘]
        }

11、详解app目录下build.gradle和工程目录下build.gradle的参数

app目录下build.gradle,如下:

apply plugin: ‘com.android.application‘//标示这是一个应用,不是库,如果是库,则应为apply plugin: ‘com.android.library‘

android {
    compileSdkVersion 22 //sdk的版本号,就是工程目录External Libraries下android.jar的版本号
    buildToolsVersion "22.0.1" //sdk编译的工具的版本号,gradle只是构建工具,最终还是要通过sdk的buildtools来编译

    defaultConfig {
        applicationId "com.example.youku.helloworld" //包名
        minSdkVersion 15 //下面这些在AndroidManifest.xml里面没有定义,gradle构建时会把这些信息放到AndroidManifest.xml里面
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false //不使用混淆
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘//混淆规则的位置
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) //libs里面的jar包都要构建进来
    compile ‘com.android.support:appcompat-v7:22.2.1‘ //引用的第三方jar包
}

工程目录下build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()//下载的gradle插件的仓库
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:1.3.0‘ //gradle的插件版本号,不是gradle的版本号

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter() //下载第三方jar包的仓库
    }
}

12、gradlew.bat和gradle-wrapper

gradle-wrapper.properties,如下:

#Thu Sep 10 10:00:04 CST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip

gradlew.bat首先通过gradlew-wrapper里面的gradle版本号,这里是gradle-2.4-all,找到对应的gradle命令,然后通过这个命令去执行。那为什么不直接把gradle命令放在环境变量里呢?因为gradle的版本经常变化,那样每次都要改一遍环境变量,不方便。这里只需要修改gradle-wrapper.properties的版本号就可以了。

那么gradle-2.4-all究竟在哪里呢?

如果这个目录下没有gradle-2.4-all.zip,首先会去下载gradle-2.4-all.zip,由于这个文件下载较慢,所以我们从http://pan.baidu.com/s/1pJwzxhT,下载完成后,然后放在这个目录下,Android Studio会自动解压这个zip。

提示:如果Android Studio已经有了gradle2.4,还去下载gradle,请更改gradle-wrapper.properties为gradle-2.4-all,就不会去自动下载了。

13、 我们经常会点击这个按钮,sync Projects with Gradle Files

这个按钮是检查Gradle的构建有没有语法错误。

使用gradlew.bat clean 是清除app目录下build生成的apk。使用gradlew.bat build是生成apk,此时生成的apk如下:

    dubug版本使用debug的证书签名的。release版本没有签名(unsigned)。

14、生成get set toString方法,在代码中点击右键Generate。另一个有用的是在点击右键选择Refactor。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-26 12:43:30

从头到尾详解Android Studio的相关文章

详解Android中那些酷炫返回方式的实现

Android手机都会有返回键,不管是实体键,还是虚拟键.Android用户主要也都是通过这个返回键操控页面返回方式的,不比IOS逼格甚高的只保留一个操作键.这种方式是最普遍的返回方式,还有一种也是比较常见的,那就是页面内部自己响应.绝大多数APP每个页面的设计图顶部左侧都会有一个返回键图标,偶尔也有奇葩的设计放在底部左侧,点击这个图标即finish掉当前页面.简单的介绍完了最常见的两种方式,下面为大家介绍两种更友好的交互方式. 拿大家比较常用的三款社交软件的交互来说.腾讯微博的返回方式除去上述

详解Android ActionBar之二:ActionBar添加Tabs标签和下拉导航

本节主要讲解ActionBar如何添加Tabs标签和下拉导航. 一.添加标签 Tabs 在ActionBar中实现标签页可以实现android.app.ActionBar.TabListener ,重写onTabSelected.onTabUnselected和onTabReselected方法来关联Fragment.代码如下: Java代码 private class MyTabListener implements ActionBar.TabListener { private TabCon

详解android:scaleType属性

详解android:scaleType属性 转自:http://blog.csdn.net/encienqi/article/details/7913262    http://juliaailse.iteye.com/blog/1409317 Android:scaleType是控制图片如何resized/moved来匹对ImageView的size. ImageView.ScaleType / android:scaleType值的意义区别: CENTER /center  按图片的原来si

详解Android中的屏幕方向

详解Android中的屏幕方向 屏幕方向 是对Activity而言的,所以你可以在AndroidManifest.xml 文件中,通过<activity> 标记的screenOrientation 属性进行设定,例如: <activity android:name=".SketchpadActivity" android:screenOrientation="landscape"/><!--让该Activity总是显示为横屏-->

详解Android Handler的使用

我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在

详解Android Handler的使用-别说你不懂handler(转)

我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在

详解Android Handler的使用-别说你不懂handler

我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分逐个的在消息队列中将消息取出,然后对消息进行出来,就是发送消息和接收消息不是同步的处理. 这种机制通常用来处理相对耗时比较长的操作. Handler工具类在多线程中有两方面的应用: 1.发送消息,在

详解Android定位

相信很多的朋友都有在APP中实现定位的需求,今天我就再次超炒冷饭,为大家献上国内开发者常用到的三种定位方式.它们分别为GPS,百度和高德,惯例先简单介绍下定位的背景知识. 什么是GPS定位.基站定位和Wi-Fi定位? 1.GPS定位:根据设备GPS芯片和GPS卫星实现定位,GPS定位在室内是不可以使用的.GPS定位精度和芯片本身以及实际使用环境有关,一般情况下,GPS定位精度在10m左右. 2.基站定位:根据设备获取的基站信息实现定位,基站定位精度一般不受使用环境影响,主要和基站的覆盖半径有关.

adb shell 命令详解,android

http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android 博客分类: android 常用:1.进入模拟器的shell模式 :  adb shell 2.安装应用程序:  adb install -r 应用程序.apkadb installadb install <apk文件路径> :这个命令将指定的apk文件安装到设备上adb install  -r