Android Studio目录结构

4a69e72c055c39aea72fbc1779e30260.pngGradle编译系统,版本由wrapper指定

Android Studio IDE所需要的文件

应用相关文件的存放目录

编译后产生的相关文件

存放相关依赖库

代码存放目录

资源文件存放目录(包括:布局、图像、样式等等)

应用程序的基本信息清单,描述哪些个组件是存在的

git版本管理忽略文件,标记出哪些文件不用进入git库中

Android Studio的工程文件

模块的gradle相关配置

代码混淆规则配置

工程的gradle相关配置

gradle相关的全局属性设置

本地属性设置(key设置,android sdk位置等属性)

应用开发调试

0f61f496b22abdff33c1329b56546177.png

如上图1所示在需要调试的行号处点击设置断点,然后点击2所示的Debug按钮(或直接按下Ctrl+D快捷键)开始调试。

b0159e111744a8b41e3791f8b8816ab1.png当前程序停留的代码行

调试相关的一些按钮

程序调用栈区,该区域显示了程序执行到断点处所调用过的所有方法,越下面的越早被调用。

局部变量观察区

用户自定义变量观察区

a1a3bebf2ae8828d856d299b93e20218.pngstep over(F8) - 程序向下执行一行,如果当前行有方法调用,这个方法执行完毕返回,然后到下一行。

step into(F7) - 程序向下执行一行,如果当前行有用户自定义方法(非官方类库方法)调用,则进入该方法。

Force step into(Alt+Shift+F7) - 程序向下执行一行,如果当前行有方法调用,则进入该方法。

step out(Shift+F8) - 如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用step out跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

Drop Frame - 点击该按钮后,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

Run to cursor(Alt+F9) - 一直运行到光标所在的位置。

Resume Program(Alt+Cmd+R) - 一直运行程序直到碰到下一个断点。

View Backpoints(Shift+Cmd+F8) - 查看你设置过的所有断点并可以设置断点的一些属性

Mute Backpoints - 选中后所有的断点别设置成无效状态。再次点击可以重新设置所有断点有效。

28c1b2f089ca43eebcc2a7e32f9878bb.png列出了所有程序中设置的断点

可以输入条件,在条件成立后断点才起作用(例如:在输入框中输入 i == 8),这种带条件断点在实际开发过程中非常有用。也可以通过右键点击断点来设置条件断点,如下图:

50d35ba46f559ceb68ca663160382607.png

应用打包签名

一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和每一个 module 会存在一个 build.gradle 文件。

①工程中的build.gradlebuildscript {

repositories {

jcenter()   // 声明使用 maven 仓库

}

dependencies {

// 依赖android提供的2.1.0-alpha5的gradle build

classpath 'com.android.tools.build:gradle:2.1.0-alpha5'

}

}

// 为所有的工程的repositories配置为jcenters

allprojects {

repositories {

jcenter()

}

}

// 清楚工程的任务

task clean(type: Delete) {

delete rootProject.buildDir

}

②模块中的build.gradle模块中的build.gradle

// 这表示该module是一个app module

apply plugin: 'com.android.application'

android {

// 基于哪个版本编译

compileSdkVersion 23

// 基于哪个构建工具版本进行构建的

buildToolsVersion "23.0.3"

// 缺省配置主要包括:应用ID,最小SDK版本,目标SDK版本,应用版本号、应用版本名

defaultConfig {

applicationId "open_open.com.helloworld"

minSdkVersion 10

targetSdkVersion 23

versionCode 1

versionName "1.0"

}

// buildTypes是构建类型,常用的有release和debug两种,可以在这里面启用混淆,启用zipAlign以及配置签名信息等。

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

// dependencies它定义了该module需要依赖的jar,aar,jcenter库信息。

dependencies {

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

testCompile 'junit:junit:4.12'

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

}

打包签名

①选择Build->Generate Signed APK...,如下图:

27b61a2de7e2b7f9692b3064b6f8ea6c.png

②在弹窗中一直Next直到下面这个界面:

bb5d2251991b5334d6f1389b8b6e9649.png

③在没有Key的情况下,我们可以先点击Create new...按钮来创建一个Key,创建过程很简单,如下图:

92fb415dd8f2fae8747ea72554a33612.png

④如果你已经存在Key了,那就点击Choose existing...按钮指定.jks文件位置,如下图:

431455f9fa05cbadf739e0118327780c.png

⑤输入Key store password和Key password(在创建Key的时候输入的那两个密码),点击Next按钮:

ccb39b6a3882770cf08fc5ade61889d1.png

⑥接下来就点击Finish按钮,坐等AS打包签名完成,签名完成后AS会提示我们:

c988d84481ad08bd9b1c1dc9b4aad4d1.png

⑦点击Revaal in Finder,可以找到我们签名好的APK文件:

b6e6c2e0b400719d7f52db7dabc8b112.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐