Android Studio使用

来源:互联网 发布:卡斯特的复仇知乎 编辑:程序博客网 时间:2024/06/05 10:10

Android Studio下载地址:
AndroidDevTools
Android Studio中文社区
一、导入项目(工程)
1.导入一个Android Studio项目,直接Open an existing Android Studio project;
2.导入一个Eclipse项目:Import project(Eclipse ADT,Gradle etc.)
3.导入一个含引用库的Eclipse工程:Import project时会自动把引用库导入并转换成Android Studio工程,如果没有把引用库导入,把引用库作为一个工程导入Android Studio,这时变成了一个Android Studio结构的库,然后通过Import Module的方式把Library导入
二、导入项目(模块)
Import Module:将一个模块(项目或库)导入工程,会在settings.gradle中添加include,如果需要引用该模块,则在对应某模块添加依赖
三、Gradle构建系统
1.整个项目的build.gradle文件

buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:2.1.0'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}

buildscript{…}配置了驱动构建过程的代码。
repositories声明使用jcenter()仓库,dependencies声明jcenter文件的依赖路径,联合起来就是依赖jcenter()服务中包名为com.android.tools.build的,版本为2.1.0的gradle插件库
2.各个模块编译所用的build.gradle文件
build.gradle文件可以通过Project Structure进行配置
1)

apply plugin: 'com.android.application'

这里引入了Gradle的application插件,这个插件提供了所有构建和测试Android应用程序所需要的东西。
如果Module是一个库

apply plugin: 'com.android.library'

2)
denpendences:
File dependency:本地依赖,libs文件夹下的所有jar文件

compile fileTree(dir: 'libs', include: ['*.jar'])

Module dependency:项目依赖

compile project(':library')

Library dependency:远程依赖

compile 'com.android.support:appcompat-v7:23.4.0'

3)
android{…}配置了所有android构建过程需要的参数。这里也是Android DSL的入口点。

android {    compileSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION as int    buildToolsVersion ANDROID_BUILD_TOOLS_VERSION    defaultConfig {    }    buildTypes {    }    compileOptions {    }    sourceSets {    }    lintOptions {    }    productFlavors {        flavor1 {        }        flavor2 {        }    }    signingConfigs {        release {            storeFile file(×.keystore)            storePassword ×××            keyAlias ××××            keyPassword ×××        }    }}
    compileSdkVersion 23    buildToolsVersion "23.0.3"

指定编译SDK版本,即API Level和构建工具版本,包括了打包工具aapt、dx等

defaultConfig {        applicationId "com.it.zjhz.hellostudio"        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"        ndk {            moduleName genius            cFlags -DANDROID_NDK -D_RELEASE            ldLibs m, log, jnigraphics            abiFilters all        }    }

默认配置:首先进行了一个 applicationId 配置,该配置不是必须,但库类型的 Model 将无此配置。
ndk 部分,这个是额外加入的,其作用是可以直接编译 NDK 代码,不需要自己执行

buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            signingConfig signingConfigs.release        }        debug {            signingConfig signingConfigs.config        }    }

在这里进行配置的是你的编译配置,可以看见这里有一个 release ,当然也就是有 debug 部分,两个部分配置都是一样。
在这里主要进行的配置是是否进行代码混淆,所以有一个代码混淆的开关,以及代码混淆的具体文件,文件有两种,无论哪种都行。
每一个Build Type都会生成一个新的APK。

compileOptions {    sourceCompatibility JavaVersion.VERSION_1_7    targetCompatibility JavaVersion.VERSION_1_7}

在这里你可以进行 Java 的版本配置,以便使用对应版本的一些新特性。

sourceSets {    main {        manifest.srcFile 'AndroidManifest.xml'        java.srcDirs = ['src']        resources.srcDirs = ['src']        aidl.srcDirs = ['src']        renderscript.srcDirs = ['src']        res.srcDirs = ['res']        assets.srcDirs = ['assets']        jniLibs.srcDirs = ['libs']    }}

这个部分,看名字应该有个大概意思就是说源码设置,其是很多从 Eclipse 中迁移过来的代码,大部分中都将带有这个设置,因为 Eclipse的文件夹与 AS 不尽相同,所以需要手动指定。
以上是一些常用的设置,其中最后一个是引用 *.so 文件的时候使用的方法。

lintOptions {    abortOnError false}

这个是设置 编译的 lint 开关。程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。

productFlavors {    flavor1 {        packageName='com.example.qiujuer.application1'        manifest.srcFile 'exampleapk/AndroidManifest1.xml'    }    flavor2 {        packageName='com.example.qiujuer.application2'        manifest.srcFile 'exampleapk/AndroidManifest2.xml'    }}

设置你的产品发布的一些东西,比如你现在一共软件需要发布到不同渠道,且不同渠道中的包名不同,那么可以在此进行配置;甚至可以设置不同的 AndroidManifest.xml 文件。
每一种组合(包含Build Type和Product Flavor)就是一个Build Variant(构建变种版本)。

signingConfigs {    release {        storeFile file(×.keystore)        storePassword ×××        keyAlias ××××        keyPassword ×××    }}

为包签名的配置,位置,键名,两个密码,还有存储类型一起形成了签名配置。
默认情况下,debug被配置成使用一个debug keystory。 debug keystory使用了默认的密码和默认key及默认的key密码。 debug keystory的位置在$HOME/.android/debug.keystroe,如果对应位置不存在这个文件将会自动创建一个。

task clearApk(type: Delete) {    delete '../release/' + POM_ARTIFACT_ID + '_' + VERSION_NAME + '.apk'}task makeApk(type: Copy) {    from('build/outputs/apk/')    into('../release/')    include('app-debug.apk')    rename('app-debug.apk', POM_ARTIFACT_ID + '_' + VERSION_NAME + '.apk')}makeApk.dependsOn(clearApk, build)

代码分为3个部分,分别是删除,拷贝,以及将其连接起来的一个设置。目的是拷贝 build/outputs/apk下面的debug apk文件到项目根目录的 release 文件夹下,并且更名。代码 task 上右击,run()。
其中有两个参数:POM_ARTIFACT_ID VERSION_NAME写在项目根部的 gradle.properties 文件中
3.local.properties

## This file is automatically generated by Android Studio.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!## This file should *NOT* be checked into Version Control Systems,# as it contains information specific to your local configuration.## Location of the SDK. This is only used by Gradle.# For customization when using a Version Control System, please read the# header note.sdk.dir=D\:\\Android\\sdk

其中包含了你的 sdk 配置,当然你还可以配置 ndk 路径;格式与 sdk 一样。
4.settings.gradle

include ':app'

在你的项目中如果有多个 Model 存在的时候,就可以选择包含哪些进行编译。
5.gradle.properties
在该文件中一般保存的是项目的一些变量等

四、Apk打包
1)Build–>Build APK:使用Debug的key打包成APK文件
2)Build–>Generated Signed APK:
3)运行时打包:在build.gradle中添加signedConfig以及buildtype,在运行时按照设置的签名打包

多渠道打包:
在Manifest.xml中添加渠道标签

<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/>

在build.gradle中添加以下代码

productFlavors{        xiaomi{}        qihu360{}        wandoujia{}        baidu{}        yingyongbao{}    }    productFlavors.all{        flavor->flavor.manifestPlaceholders=[UMENG_CHANNEL_VALUE:name]    }

同步之后Gradle–>build–>assemble自动生成多个版本的apk

六、常用快捷键

  • 自动修正:alt + 回车
  • 注释:Ctrl + / 或者 Ctrl + Shift +/
  • 查找/替换:Ctrl + F/Ctrl + R
  • 上下移动代码:Alt + Shift + 方向键
  • 删除行:Ctrl + delete
  • 重写方法:Ctrl + O
  • 常用插件及自动生成相关代码:Alt + Insert
  • 格式化代码:Ctrl + Alt + L
  • 常用结构语句:Ctrl + Alt + T
    七、版本控制
    忽略文件
  • idea 文件夹
  • .gradle 文件夹
  • 所有的 build 文件夹
  • 所有的 .iml 文件
  • local.properties 文件
0 0
原创粉丝点击