Android Studio基本使用
2017-12-27 11:26
281 查看
Android Studio基本使用
原文出处 -> 出处。本文主要推荐给由Eclipse开发转向使用Android Studio(以下简称:AS)的开发者,介绍AS最基本以及最常用的功能,老司机请绕道哦O(∩_∩)O,以免耽误宝贵的时间。
主要内容:
(1)环境搭建
(2)新建项目(含Module创建)
(3)代码混淆
(4)常用调试功能及应用分析相关
(5)打包APK
一、环境搭建(Windows)
(1)安装JDK,下载地址,注意AS要求JDK7及更高版本,安装过程不再赘述;
(2)AS下载,如果因特殊原因不能官网下载,请移步这里下载;
(3)AS安装
1.注意选择自己合适的安装位置,如下图:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720163722216-1777866889.png)
2.顺利的话一步一步安装成功,出现以下界面:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720164152154-1817274947.png)
3.首次运行配置
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720164354544-457617921.png)
4.顺利的话就可以进入AS启动页面了,如果出现Android SDK下载失败,请移步这位朋友写的处理方法进行处理。
二、新建项目(含Module创建)
(1)创建项目
进入AS,左上角单击File->New->New Project,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720171221341-233261123.png)
进入以下界面:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720171604544-1336306872.png)
下一步:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720171841076-1570466940.png)
下一步:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720171951857-1388790117.png)
下一步:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720172041419-778087448.png)
完成。
(2)主界面介绍
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720172645326-1463508961.png)
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720172823326-1039868571.png)
(3)预览
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720182540451-1136242980.png)
(4)创建Module
对于中大型项目AS提供了Module(即模块),主要便于项目分层以及分离逻辑,使项目逻辑更加清晰也便于项目维护。创建模块如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720173141544-750269470.png)
进入以下页面:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720173329872-1804046633.png)
进入下一步,完成创建后如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720173546826-175065642.png)
关于Module的创建及使用可以参考我的另一篇文章。
二、代码混淆
AS项目由Gradle构建及管理项目,应用相关的很多信息都可以在这里设置,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720181411529-604503718.png)
AS中进行代码混淆需要在build.gradle文件和proguard-rules.pro文件中进行设置(可以通过jd-gui工具对比混淆前后效果):
(1)build.gradle文件
![](http://images2015.cnblogs.com/blog/529384/201606/529384-20160619231130679-1243112052.png)
minifyEnabled:表示是否开启混淆,默认为false
proguardFiles:混淆配置文件,一般就采用项目中默认的proguard-rules.pro文件。
(2)proguard-rules.pro文件
![](http://images2015.cnblogs.com/blog/529384/201606/529384-20160619231516960-1042265914.png)
混淆设置,具体可参考progurad官网。
注意图中红框部分,因为所有jar包(此处已JAR包混淆举例,APP混淆与此类似)都要求有对外接口(没有对外接口的模块一般也没什么意义),有多种种方式设置对外接口类:
a:-keep public class *,例如:
-keep public class * {
public protected *;
}
b:如上图所示。
因为一个模块一般有很多类文件,混淆时我们希望除对外接口类的其他所有类文件的类名也进行混淆,那么就可以单独创建一个基类或接口,让对外的接口类继承该基类或接口。
c:-keep public class XXX,特定类不混淆,例如:
-keep public class xiaoshubao.player.UserLogin{
public protected *;
}
四、常用调试功能及应用分析相关
(1)创建模拟器(创建过程省略)
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720203320013-886693782.png)
(2)运行模拟器
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720212057122-143008684.png)
(3)应用分析相关
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720212007841-990393440.png)
1.日志输出,如上图所示。
2.内存分析
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720212712216-302466760.png)
a:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720213438216-1032354249.png)
b:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720213904997-1097783077.png)
c:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720214158169-1841376058.png)
d:内存信息采集
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720215844435-1870265978.png)
e:使用MemoryAnalyzer(MAT)分析内存泄露
首先,直接将上一步生成的hprof文件导入MAT工具中是无法使用的,需要进行转换,有两种方式可以实现转换:
方法一:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720225441029-474978794.png)
方法二:通过hprof-conv工具转换后再导入MAT工具中,hprof-conv工具在Android SDK 下platform-tools目录中,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720220843341-615486131.png)
将Snapshot_2016.07.20_21.52.57.hprof文件拷贝至e:/1/文件夹下,cmd到hprof-conv.exe目录下并执行转换命令,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720221945622-891617539.png)
生成目标3.hprof文件,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720222020607-668175804.png)
MAT中导入转换后的hprof文件,如下所示:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720222548904-719805625.png)
CPU、GPU等选项卡就不再赘述了,大家可以自己研究。
五、打包APK
Build->Generate Signed APK
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720222905404-1318898284.png)
出现以下界面:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720223217201-557607205.png)
(1)创建新的JKS签名文件,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720223627779-1901051247.png)
(2)选择现有的JKS文件
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720223729372-1208517678.png)
(3)我们这里演示创建新的JKS签名文件,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720223901091-744279325.png)
点击OK,出现如下界面:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720223953357-1429107475.png)
点击Next,如下:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720224017638-2006837027.png)
点击Finish,成功生成带我们自己签名的APK文件:
![](http://images2015.cnblogs.com/blog/529384/201607/529384-20160720224156451-1545457288.png)
以后APP新版本发布时就可以使用刚才生成的JKS文件进行签名,注意同一APP新版本的签名文件必须与旧版本的签名文件为同一个,多个APP可以共用同一个签名文件,原因就不多说了。
总结,本文主要讲解使用AS创建项目、调试项目、发布的最基本使用,随着熟悉程度的提高大家都可以自己深入研究,比如Gradle构建、内存分析等等。
相关文章推荐
- Android Studio基本使用及创建module
- Android Studio 学习 - 基本控件的使用;Intent初学
- AndroidStudio使用指南(一)项目结构&基本功能
- android studio serversocket最最基本使用
- Android Studio的基本使用
- android studio基本使用零碎整理
- 《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
- Android Studio基本使用,androidstudio
- Android Studio使用教程(二):基本设置与运行
- 《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
- Android Studio基本使用
- Android studio基本使用(1)
- 《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
- Android Studio基本使用教程
- android下repo的基本使用
- android-MediaPlayer的基本使用-播放音频视频
- android中opengl es基本方法使用说明
- webView控件基本使用(android)
- CCS4(Code Composer Studio)的基本使用教程
- Android提高第二篇之SurfaceView的基本使用