Android Studio使用
2016-06-06 10:17
519 查看
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声明jcenter文件的依赖路径,联合起来就是依赖jcenter()服务中包名为com.android.tools.build的,版本为2.1.0的gradle插件库
2.各个模块编译所用的build.gradle文件
build.gradle文件可以通过Project Structure进行配置
1)
这里引入了Gradle的application插件,这个插件提供了所有构建和测试Android应用程序所需要的东西。
如果Module是一个库
2)
denpendences:
File dependency:本地依赖,libs文件夹下的所有jar文件
Module dependency:项目依赖
Library dependency:远程依赖
3)
android{…}配置了所有android构建过程需要的参数。这里也是Android DSL的入口点。
指定编译SDK版本,即API Level和构建工具版本,包括了打包工具aapt、dx等
默认配置:首先进行了一个 applicationId 配置,该配置不是必须,但库类型的 Model 将无此配置。
ndk 部分,这个是额外加入的,其作用是可以直接编译 NDK 代码,不需要自己执行
在这里进行配置的是你的编译配置,可以看见这里有一个 release ,当然也就是有 debug 部分,两个部分配置都是一样。
在这里主要进行的配置是是否进行代码混淆,所以有一个代码混淆的开关,以及代码混淆的具体文件,文件有两种,无论哪种都行。
每一个Build Type都会生成一个新的APK。
在这里你可以进行 Java 的版本配置,以便使用对应版本的一些新特性。
这个部分,看名字应该有个大概意思就是说源码设置,其是很多从 Eclipse 中迁移过来的代码,大部分中都将带有这个设置,因为 Eclipse的文件夹与 AS 不尽相同,所以需要手动指定。
以上是一些常用的设置,其中最后一个是引用 *.so 文件的时候使用的方法。
这个是设置 编译的 lint 开关。程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。
设置你的产品发布的一些东西,比如你现在一共软件需要发布到不同渠道,且不同渠道中的包名不同,那么可以在此进行配置;甚至可以设置不同的 AndroidManifest.xml 文件。
每一种组合(包含Build Type和Product Flavor)就是一个Build Variant(构建变种版本)。
为包签名的配置,位置,键名,两个密码,还有存储类型一起形成了签名配置。
默认情况下,debug被配置成使用一个debug keystory。 debug keystory使用了默认的密码和默认key及默认的key密码。 debug keystory的位置在$HOME/.android/debug.keystroe,如果对应位置不存在这个文件将会自动创建一个。
代码分为3个部分,分别是删除,拷贝,以及将其连接起来的一个设置。目的是拷贝 build/outputs/apk下面的debug apk文件到项目根目录的 release 文件夹下,并且更名。代码 task 上右击,run()。
其中有两个参数:POM_ARTIFACT_ID VERSION_NAME写在项目根部的 gradle.properties 文件中
3.local.properties
其中包含了你的 sdk 配置,当然你还可以配置 ndk 路径;格式与 sdk 一样。
4.settings.gradle
在你的项目中如果有多个 Model 存在的时候,就可以选择包含哪些进行编译。
5.gradle.properties
在该文件中一般保存的是项目的一些变量等
四、Apk打包
1)Build–>Build APK:使用Debug的key打包成APK文件
2)Build–>Generated Signed APK:
3)运行时打包:在build.gradle中添加signedConfig以及buildtype,在运行时按照设置的签名打包
多渠道打包:
在Manifest.xml中添加渠道标签
在build.gradle中添加以下代码
同步之后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 文件
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 × 4000 ×× } }
为包签名的配置,位置,键名,两个密码,还有存储类型一起形成了签名配置。
默认情况下,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 文件
相关文章推荐
- android声音检测仪---分贝仪 (附源码)
- Android RecyclerView 加载更多数据 及 不同类型itemView的使用
- Android闪屏问题的分析思路
- android studio 的坑 自己来填
- Android Studio_Android Studio Template
- Android中用Handle做定时器,显示实时时间
- Android Date 的前一天,前一个月的设置
- android之BadTokenException异常
- 【Android基础知识】ContentProvider(一)
- Android_Component_example
- Android Animation动画(很详细)
- Android中Button的基本用法
- Android AudioManager修改设备默认音量
- HAL开发全流程(验证)
- 初涉RxAndroid .map() . filter() flatMap()
- 初涉RxAndroid .map() . filter() flatMap()
- MaterialDesign_兼容性控件的使用
- Android 状态栏工具类(实现沉浸式状态栏/变色状态栏)
- Android 通用流行框架梳理
- 两个android警告