【Android Studio 入门】一卷旌收千骑虏,万全身出百重围。这篇文章主要讲述Android Studio 入门相关的知识,希望能为你提供帮助。
本文适用于从Eclipse转androidStudio的开发人员
近期打算写一个系列的android0基础开发教程,估计40篇以上的文章,结合我实际工作中的经验,写一些工作中经经常使用到的技术,让刚開始学习的人能够少走弯路,这是本系列的第一篇文章,345大神写的。
原文地址
一. 下载安装
- 安装JDK并配置java_HOME环境变量
这个就略过了,纯小白请自行百度
- Android Studio安装
截止到2016年4月9日Android studio的最新稳定版本号为2.0,推荐使用该稳定版本号。
- 下载地址1 官网下载页面传送门
假设下载速度非常慢。请复制下载连接到迅雷,万能的迅雷会帮你提速的。 假设根本打不开请移步地址2
- 下载地址2 AndroidDevTools
文章图片
你须要的这里基本都会有,强烈推荐到这里下载。
假设本地已经下载有sdk的话推荐下载zip免安装版,第一次启动的时候配置下sdk目录就好。
- 安装完过后不要着急启动,首次启动会弹出检查sdk更新组件等设置,点击finish可能会去下载。假设没有设置代理的情况下。这个界面会卡非常久。
- 关闭android sutdio,打开android studio安装目录下的bin目录,找到idea.properties并打开。
- 在该文件尾部加入例如以下代码:
# 禁用首次检查sdk功能
disable.android.first.run=true
- 重新启动android studio就不会再出现sdk设置检查界面了。
- 启动完毕会看到以下的界面
文章图片
- 启动完毕会看到以下的界面
文章图片
文章图片
点击左下角连接 启动SDK Manger 配置SDK更新镜像
我想说这一步在天朝是必须的,原因我想你懂的
以下说一下SDK更新镜像站点的用法:
详细请參考AndroidDevTools
1. 启动 Android SDK Manager 。打开主界面,依次选择『Tools』、『Options…』,弹出『Android SDK Manager - Settings』窗体。
- 在『Android SDK Manager - Settings』窗体中。在『HTTP Proxy Server』和『HTTP Proxy Port』输入框内填入上面镜像server地址(不包括http://。例如以下图)和端口。而且选中『Force https://… sources to be fetched using http://…』复选框。
设置完毕后单击『Close』button关闭『Android SDK Manager - Settings』窗体返回到主界面;
- 依次选择『Packages』、『Reload』。
文章图片
选择镜像站点的时候要注意的是,并非全部的适合别人的就适合你还有可能根本无法更新。因为server远近带宽的问题,你应该选择适合自己的镜像,怎么选择。
。。。我想说设置成功后选择更新个没下载的文件能成功下载更新而且速度不慢的就是合适的
- 主题设置
启动页面点击 configure-> 选择Prefrences-> Appearance-> Theme-> Darcula就是那个黑色Visual Studio风格主题 -> apply完事
文章图片
假设想要很多其它字体关键词颜色什么的个性化配置的话推荐到以下的网址下载
view=index">http://color-themes.com/?view=index
选择喜欢的主题下载,下载到的是个jar文件。用法:
在AS中选择File->
import settings ->
选择下载的jar文件->
勾选editor color 确认
三. 项目project
- 新建project
文章图片
- project目录结构
文章图片
- MyApplication目录地位相当Eclipse的Workspace
不同的是ASproject目录以下多了用于全局项目的配置文件,比較重要的是local.properties、setting.gradle、gradle.properties 、build.gradle和gradle目录
- local.properties
当中能够设置你的 sdk、ndk配置,普通情况下不须要改 - settings.gradle
该文件里就仅仅仅仅包括了一句话,声明所包括的module
比方上面的project包括三个module
include ‘:app‘, ‘:app2‘, ‘:mylibrary‘
- gradle.properties
gradle编译用到的一些參数设置 普通情况下不须要改 - buiLd.gradle
定义版本号仓库的依赖和一些gradle的命令普通情况下不须要改
- local.properties
- Module目录
文章图片
这个目录跟eclipse目录非常像 非常easy就能理解各种目录的相应关系,比較特别的是比eclipse多了一系列mipmap目录。mipmap和drawable目录一样都是用来存放图片的,按官方文档说法是 mipmap目录仅仅放应用图标。
其它须要使用的drawable资源象之前一样放到相应的drawable目录。
新建moudle时drawable目录仅仅有默认不带分辨率參数的,适用于不同分辨率的目录须要自己手动建。AS提供了便捷的创建方式
在moudle上右键选择Android resource directory,分别选择类型drawable 左側列表选择density 选择对dpi
例如以下图
文章图片
文章图片
文章图片
其它res文件的创建同理。
- 打开网上下载ASprojectgradle报错的问题
* 手动下载相应gradle版本号到本地目录
这样的方式不推荐有兴趣的自行搜索
* 改动要打开project的gradle配置
文章图片
參考本地新建project的同样文件
gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
//改动版本号号与本地project文件同样
build.gradle
dependencies {
classpath ‘com.android.tools.build:gradle:2.0.0‘
//改动版本号号与本地project文件同样
}
四. 加入依赖了解了项目结构之后简单的编译执行调试一般来说应该没有什么问题了,毕竟菜单条,底部功能窗体功能提示都非常明白。以下来说一说比較遇到问题的地方:加入依赖项目或执行第三方project报错的问题。
加入依赖一般有三种方式
1. 加入代码仓库的依赖
这样的方式最简单直接在项目module的build.gradle 里面的dependencies 里加入一句话,然后又一次构建就可以。如:
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
testCompile ‘junit:junit:4.12‘
compile ‘com.android.support:appcompat-v7:23.3.0‘
compile ‘com.android.support:design:23.3.0‘
//加入了OKHttp的依赖
compile ‘com.squareup.okhttp3:okhttp:3.2.0‘
}
能够手动加入也能够右键项目在open module settings里搜索加入(推荐这样的方式)
文章图片
文章图片
AS会自己主动联网下载加入的依赖 这个一般不须要FQ
- jar包的依赖
文章图片
构建完毕在左側目录栏里的jar文件左側应该会有尖头能够展开查看jar包内容
文章图片
有的jar还须要关联.so库 这时候仅仅须要在src目录的main目录以下建一个名为jniLibs的目录将so库拷贝进去就可以(与res目录同级)
文章图片
3. libray项目的依赖
非常多时候我们的要用到从github上下载的项目,把当中提供的library加入到我们的项目中,方法例如以下 首先导入module然后加入依赖
打开project structure -> 加入新moudle -> 在下载的project文件里 选择要导入的library的module
注意不是导入下载的整个project目录 而是选择当中的module目录
文章图片
文章图片
文章图片
把导入的library加入到目的项目的依赖中
文章图片
文章图片
当导入的library里的项目build.gradle文件里包括一些上传到版本号仓库的信息的话导入过后可能会报错,这时候仅仅须要把不必要的信息凝视掉就可以,须要保留的是编译配置,依赖关系。目录配置。例如以下
apply plugin: ‘com.android.library‘
//项目编译信息
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"defaultConfig {
minSdkVersion 11
targetSdkVersion 23
versionCode 1
versionName "1.0"
}}
//依赖信息
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
testCompile ‘junit:junit:4.12‘
compile ‘com.android.support:appcompat-v7:23.2.1‘
compile ‘com.android.support:design:23.2.1‘
}
当然也能够手动把module目录复制到project目录中然后改动settings.gradle文件。只是不推荐这样的方式。
五. 快捷键AS的自己主动提示功能非常强大,有输入过后会自己主动弹出提示不须要像Eclipse一样按alt+/才提示,至于其它AS的快捷键非常多就不一一说明了, 上个图拿去自行修炼吧
文章图片
六. 插件安装打开Setting页面 找到Plugins 搜索安装 如图
文章图片
文章图片
推荐的几个AS插件,详细用法请自行百度
1. GsonFormat
2. android-butterknife-zelezny
3. JsonOnlineViewer
七. 打多渠道包国内上线APP一般要从多渠道公布。为了统计渠道安装量一般须要每一个渠道生产一个安装包。AS自带多渠道打包功能。多渠道打包功能绝对是AS最有用的功能之中的一个。这里重点讲一下。
- 生成签名文件
文章图片
- 设置打包用的签名文件
文章图片
- 新建Flavors配置
文章图片
- 改动module的build.gradle和Mainfest文件
怎样改动我们来举例说明
这是build.gradle文件内改动的部分
defaultConfig {
applicationId "com.example.mark.myapplication"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
//BuildConfig.IS_SIGN = false
buildConfigField "boolean", "IS_SIGN", "false"
}
productFlavors {
offline_debug {
signingConfig signingConfigs.signConfig
//这里演示的是一个变量的写法
manifestPlaceholders = [APP_NAME: "Debug版本号"]
}
release_360 {
signingConfig signingConfigs.signConfig//BuildConfig.IS_SIGN = true
buildConfigField "boolean", "IS_SIGN", "true"
//这里演示的是有多个变量的写法
manifestPlaceholders = [APP_NAME: "360版本号", EXAMPLE: "360"]
}
release_baidu {
signingConfig signingConfigs.signConfig
buildConfigField "boolean", "IS_SIGN", "true"
manifestPlaceholders = [APP_NAME: "百度版本号", EXAMPLE: "baidu"]
}
}
当中defaultConfig内的 buildConfigField “boolean”, “IS_SIGN”, “false”一句 是在构建项目生成的BuildConfig类中加入一个名为 IS_SIGN 的bool变量,并赋值为false。
这个变量是能够在代码里使用的,如以下的代码能够用来切换线上线下的请求地址
public static String BASE_URL;
static {
if(BuildConfig.IS_SIGN){
BASE_URL = "线上地址";
}else{
BASE_URL = "线下地址";
}
}
productFlavors 内的manifestPlaceholders = [APP_NAME: “Debug版本号”] 一句的含义是 将AndroidManifest.xml文件里的变量APP_NAME替换为冒号后面的字符串,这句是仅仅有一个要替换的变量的写法。后面you多个变量的写法举例。这个APP_NAME在Manifest文件里的定义格式例如以下 ${变量名} 在打包的时候gradle会自己主动把这个占位变量给替换掉。
<
activity
android:name=".LoginActivity"
android:label="${APP_NAME}">
<
intent-filter>
<
action android:name="android.intent.action.MAIN" />
<
category android:name="android.intent.category.LAUNCHER" />
<
/intent-filter>
<
/activity>
这样的变量定义能够出如今Mainfest中不论什么须要字符串的位置,我上面仅仅是一个演示样例,请活学活用不要照搬照抄。
- 打包
文章图片
推荐下自己创建的android QQ群: 202928390欢迎大家的加入.
假设你想第一时间看我们的后期文章,扫码关注公众号。每周不定期推送Android开发实战教程文章。你还等什么。赶快关注吧。学好技术,。出任ceo,赢取白富美。。
。。。
。。。。。
文章图片
推荐阅读
- Android加壳native实现
- 启动weblogic报错(string value '2.4' is not a valid enumeration value for web-app-versionType in)
- thisapply/callbind闭包函数变量复制
- [LeetCode] Happy Number
- yarn application ID 增长达到10000后
- win8系统关机提示”winlogon.exe没有磁盘“如何处理
- win8系统任务管理器需要很长时间才能打开怎样办
- Win8专业版系统关闭锁屏技巧的详细图文详细教程
- win8系统怎样进入dos界面?进入win8系统dos界面的3大办法