Android Studio环境使用

主要内容:

(1)环境搭建

(2)新建项目(含Module创建)

(3)代码混淆

(4)常用调试功能及应用分析相关

(5)打包APK

一、环境搭建(Windows)

(1)安装JDK,下载地址,注意AS要求JDK7及更高版本,安装过程不再赘述;

(2)AS下载,如果因特殊原因不能官网下载,请移步这里下载;

(3)AS安装

      1.注意选择自己合适的安装位置,如下图:

android studio真机运行配置文件 android studio要求配置_Android

    2.顺利的话一步一步安装成功,出现以下界面:

android studio真机运行配置文件 android studio要求配置_Android_02

    3.首次运行配置

android studio真机运行配置文件 android studio要求配置_代码混淆_03

 

   4.顺利的话就可以进入AS启动页面了,如果出现Android SDK下载失败,请移步这位朋友写的处理方法进行处理。

二、新建项目(含Module创建)

(1)创建项目

进入AS,左上角单击File->New->New Project,如下:

android studio真机运行配置文件 android studio要求配置_Android_04

进入以下界面:

android studio真机运行配置文件 android studio要求配置_Android_05

下一步:

android studio真机运行配置文件 android studio要求配置_代码混淆_06

下一步:

android studio真机运行配置文件 android studio要求配置_Android_07

下一步:

android studio真机运行配置文件 android studio要求配置_签名文件_08

完成。

 (2)主界面介绍

android studio真机运行配置文件 android studio要求配置_代码混淆_09

android studio真机运行配置文件 android studio要求配置_签名文件_10

(3)预览

android studio真机运行配置文件 android studio要求配置_签名文件_11

 

(4)创建Module

对于中大型项目AS提供了Module(即模块),主要便于项目分层以及分离逻辑,使项目逻辑更加清晰也便于项目维护。创建模块如下:

android studio真机运行配置文件 android studio要求配置_Android_12

进入以下页面: 

android studio真机运行配置文件 android studio要求配置_代码混淆_13

进入下一步,完成创建后如下: 

android studio真机运行配置文件 android studio要求配置_代码混淆_14

关于Module的创建及使用可以参考我的另一篇文章。

  二、代码混淆

AS项目由Gradle构建及管理项目,应用相关的很多信息都可以在这里设置,如下:

android studio真机运行配置文件 android studio要求配置_代码混淆_15

AS中进行代码混淆需要在build.gradle文件和proguard-rules.pro文件中进行设置(可以通过jd-gui工具对比混淆前后效果):

 

(1)build.gradle文件

 

android studio真机运行配置文件 android studio要求配置_代码混淆_16

 

minifyEnabled:表示是否开启混淆,默认为false

 

proguardFiles:混淆配置文件,一般就采用项目中默认的proguard-rules.pro文件。

 

(2)proguard-rules.pro文件

 

android studio真机运行配置文件 android studio要求配置_签名文件_17

 

混淆设置,具体可参考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)创建模拟器(创建过程省略)

android studio真机运行配置文件 android studio要求配置_签名文件_18

(2)运行模拟器

android studio真机运行配置文件 android studio要求配置_签名文件_19

 

(3)应用分析相关

android studio真机运行配置文件 android studio要求配置_签名文件_20

 1.日志输出,如上图所示。

 2.内存分析

android studio真机运行配置文件 android studio要求配置_签名文件_21

 a:

android studio真机运行配置文件 android studio要求配置_代码混淆_22

b:

android studio真机运行配置文件 android studio要求配置_代码混淆_23

c:

android studio真机运行配置文件 android studio要求配置_Android_24

d:内存信息采集

android studio真机运行配置文件 android studio要求配置_Android_25

e:使用MemoryAnalyzer(MAT)分析内存泄露

首先,直接将上一步生成的hprof文件导入MAT工具中是无法使用的,需要进行转换,有两种方式可以实现转换:

方法一:

android studio真机运行配置文件 android studio要求配置_签名文件_26

 

  • 方法二:通过hprof-conv工具转换后再导入MAT工具中,hprof-conv工具在Android SDK 下platform-tools目录中,如下:

android studio真机运行配置文件 android studio要求配置_代码混淆_27

将Snapshot_2016.07.20_21.52.57.hprof文件拷贝至e:/1/文件夹下,cmd到hprof-conv.exe目录下并执行转换命令,如下:

android studio真机运行配置文件 android studio要求配置_Android_28

生成目标3.hprof文件,如下:

android studio真机运行配置文件 android studio要求配置_代码混淆_29

 MAT中导入转换后的hprof文件,如下所示:

android studio真机运行配置文件 android studio要求配置_代码混淆_30

CPU、GPU等选项卡就不再赘述了,大家可以自己研究。

五、打包APK

Build->Generate Signed APK

android studio真机运行配置文件 android studio要求配置_签名文件_31

出现以下界面:

android studio真机运行配置文件 android studio要求配置_签名文件_32

(1)创建新的JKS签名文件,如下:

android studio真机运行配置文件 android studio要求配置_代码混淆_33

(2)选择现有的JKS文件

android studio真机运行配置文件 android studio要求配置_签名文件_34

(3)我们这里演示创建新的JKS签名文件,如下:

android studio真机运行配置文件 android studio要求配置_签名文件_35

点击OK,出现如下界面:

android studio真机运行配置文件 android studio要求配置_签名文件_36

点击Next,如下:

android studio真机运行配置文件 android studio要求配置_Android_37

点击Finish,成功生成带我们自己签名的APK文件:

android studio真机运行配置文件 android studio要求配置_Android_38

以后APP新版本发布时就可以使用刚才生成的JKS文件进行签名,注意同一APP新版本的签名文件必须与旧版本的签名文件为同一个,多个APP可以共用同一个签名文件,原因就不多说了。

总结,本文主要讲解使用AS创建项目、调试项目、发布的最基本使用,随着熟悉程度的提高大家都可以自己深入研究,比如Gradle构建、内存分析等等。

附 android studio 3.0 jar包所遇到的问题:

1)问题:Annotation processors must be explicitly declared now.  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annotationProcessor configuration.     - butterknife-7.0.1.jar 

   解决方法:在gradle编译脚本中找到build.gradle,修改

android { 
   ...    
defaultConfig 
{        ...        
javaCompileOptions 
{            
annotationProcessorOptions
 {                includeCompileClasspath = true              
}        
}    
}
}

即可