文档章节

Android Studio基本使用及创建module

shzwork
 shzwork
发布于 07/08 15:52
字数 1229
阅读 52
收藏 0

本文主要推荐给由Eclipse开发转向使用Android Studio(以下简称:AS)的开发者,介绍AS最基本以及最常用的功能,老司机请绕道哦O(∩_∩)O,以免耽误宝贵的时间。

主要内容:

(1)环境搭建

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

(3)代码混淆

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

(5)打包APK

一、环境搭建(Windows)

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

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

(3)AS安装

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

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

    3.首次运行配置

 

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

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


(1)创建项目

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

进入以下界面:

下一步:

下一步:

下一步:

完成。

 (2)主界面介绍

(3)预览

 

(4)创建Module

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

进入以下页面: 

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

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

  二、代码混淆

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

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

 

(1)build.gradle文件

 

 

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

 

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

 

(2)proguard-rules.pro文件

 

 

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

(2)运行模拟器

 

(3)应用分析相关

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

 2.内存分析

 a:

b:

c:

d:内存信息采集

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

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

  • 方法一:

 

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

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

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

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

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

五、打包APK

Build->Generate Signed APK

出现以下界面:

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

(2)选择现有的JKS文件

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

点击OK,出现如下界面:

点击Next,如下:

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

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

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

本文转载自:https://blog.csdn.net/IAFMAY/article/details/81352421

shzwork
粉丝 15
博文 826
码字总数 11168
作品 0
厦门
私信 提问
Google将专注于Android Studio,放弃Eclipse+ADT

上周Android的官方博客发表声明:Google将在年底结束对Eclipse+ADT的开发以及停止支持,把重心完全转移到Android Studio。对于很多使用Eclipse的Android开发者而言,他们必须接受一个全新的I...

yushulx
2015/07/07
963
0
Android Studio 导入系统jar包的正确姿势

前言 前段时间负责了一个系统设置的项目,里面用到了大量的系统隐藏方法,所以自己用Eclipse打了一个系统jar包,但是导入到Android studio的时候,中间踩了很多坑,现在总结一下,防止大家踩...

Evan_zch
2018/08/30
0
0
Android Studio使用教程

今年的Google全球开发者大会虽然没有新的Android系统和设备,但是还是推出了一些不错的产品,Android Studio就是其中之一。这个基于Intellij IDEA开发的Android IDE让很多人眼前一亮,其实时...

枫影Xda
2013/05/21
2.5K
2
效率提升百分之四十,AS模板也太好用了吧

原文地址: https://www.jianshu.com/p/61a64fb0aec1 CV 工程师你好,以下内容会让你感觉到不适,慎入! 在平时的开发工作中,我们经常将一个地方的代码,复制粘贴到另外一个地方,俗称搬砖,...

JessYan
02/26
0
0
在现有Android项目中集成Flutter

操作步骤 在Android项目的同级目录执行命令创建flutter module 接着到flutter module的.android目录下,执行gradle命令(用来生成aar文件),如果隐藏文件无法显示的话使用下面的命令。 在已存...

小菜鸟程序媛
04/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端技术之:Prisma Demo服务部署过程记录

安装前提条件: 1、已经安装了docker运行环境 2、以下命令执行记录发生在MackBook环境 3、已经安装了PostgreSQL(我使用的是11版本) 4、Node开发运行环境可以正常工作 首先需要通过Node包管...

popgis
今天
5
0
数组和链表

数组 链表 技巧一:掌握链表,想轻松写出正确的链表代码,需要理解指针获引用的含义: 对指针的理解,记住下面的这句话就可以了: 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指...

code-ortaerc
今天
4
0
栈-链式(c/c++实现)

上次说“栈是在线性表演变而来的,线性表很自由,想往哪里插数据就往哪里插数据,想删哪数据就删哪数据...。但给线性表一些限制呢,就没那么自由了,把线性表的三边封起来就变成了栈,栈只能...

白客C
今天
42
0
Mybatis Plus service

/** * @author beth * @data 2019-10-20 23:34 */@RunWith(SpringRunner.class)@SpringBootTestpublic class ServiceTest { @Autowired private IUserInfoService iUserInfoS......

一个yuanbeth
今天
5
0
php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部