最近从Eclipse转到Android Studio IDE,很多东西需要学习,本文是个记录。

项目结构

在Anroid Studio 中,一个Project 包括多个Module,每个Module下包含的Manifest.xml也是起效的(以前在Eclipse下不起效)

Eclipse 里的 library 可以对应 Anrdroid Studio 里的module 。

调试

在eclipse中,我们经常使用 run as debug...方式(以debug模式)启动,或者使用ddms里找到 设备下列出的进程 点上(绿色的小虫子标记)的方式来调试。

而在Android Studio 中,我们仍然可以 debug模式启动来调试。不过我们可以不用再使用ddms来调试了,在菜单 “Run” 下有个 "attach debugger to  process",可以将调试器附加到进程中来调试,更方便了。

编译

不得不要学习Gradle了,要明白,程序有两种打包方式(debug和release)两种,我们需要对项目中module配置不同的key store来维护各自的配置项。比如:

  1. 我们配置 debug配置下的为 debug key store,不启动混淆

  2. 配置release配置为发布的key,启动混淆

如何配置degbug key 呢?

在 module 上右键,选择"open module settings",选中 signing标签卡,点击 加号 ,输入 配置项名称(name),填写你的keystore的 别名,路径和密码。

如何将上一步的key的配置关联到打包方式上呢?

继续上一步的位置,选择"Build types",选择 signing config,在下拉框里找到上一步配置的name  ,即建立关联了。

如何执行打包,和打那种包呢?debug包或者release包?

点击屏幕左下角(最最左下角的哪个方块)将会弹出一个菜单,选择“build variants”,弹出一个小窗口,在这里可以找到你的module,将debug切换为release 就可以了。即切换了打包的模式。

我打包输出的apk在哪里?

在你的项目(module )的根文件夹下的 build 下的 outputs 下的apk 下。即  /build/outputs/apk下。这里文件名里带debug的即是你的apk了。

还可以在 命令提示行(terminal)下输入指令来 来打包。

    • gradle assembleDebug
    • gradle assembleRelease

或者使用  "grdle assemble" 同时把release和debug都打包。

参考:

http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/

http://stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/

Android Studio 学习笔记(1)的更多相关文章

  1. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明

    Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...

  2. Android Studio学习笔记

    转:http://stormzhang.com/devtools/2014/11/25/android-studio-tutorial1 背景 相信大家对Android Studio已经不陌生了,An ...

  3. Android Studio 学习笔记1.1 创建自己的第一个安卓项目并且打包APK

      自从上一次安装完安卓开发工具Android Studio后抽时间看视屏尝试编写自己的第一个安卓项目约两周的时间 每天下班后会花上1~2小时的时间去学习 目前的成果如下:次元宅的我.apk 嘛 总而 ...

  4. Android Studio 学习笔记(二):布局简介和xmlns说明

    初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...

  5. Android Studio 学习笔记(四):Adapter和RecyclerView说明

    在现版本中,滚动控件有多种,而相比于ListView,GridView,RecyclerView的用途更广,因此将前两者作为Adapter适配器的引入,再对RecyclerView进行简单讲解. MV ...

  6. Android Studio 学习笔记(三):简单控件及实例

    控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...

  7. Android Studio 学习笔记(五):WebView 简单说明

    Android中一个用于网页显示的控件,实际上,也可以看做一个功能最小化的浏览器,看起来类似于在微信中打开网页链接的页面.WebView主要用于在app应用中方便地访问远程网页或本地html资源.同时 ...

  8. Git for Android Studio 学习笔记

    http://learngitbranching.js.org/ 一个特别好的git学习教程 创建一个project,然后导入github

  9. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. Vue style 深度作用选择器 >>> 与 /deep/(sass/less)

    传送门:https://vue-loader-v14.vuejs.org/zh-cn/features/scoped-css.html 你很可能会遇到的问题 vue组件编译后,会将 template ...

  2. Python 实现进程间通信(网络编程)

    [网络编程] 1):网络编程是什么意思,网络编程指的是不同机器之间通过网编相互发信息,我们常用的“QQ”,“微信”,“邮箱” 都个网编编程的应用: 网编编程在技术上还有另一个叫法叫“进程间通信”,进程 ...

  3. 分享:三种取消选中单选框radio的方法

    三种取消选中radio的方式,本文依赖于jQuery,其中第一种,第二种方式是使用jQuery实现的,第三种方式是基于JS和DOM实现的. <!DOCTYPE HTML> <html ...

  4. Atitit 路径规划法attilax总结 扫描线路法

    Atitit 路径规划法attilax总结 扫描线路法 2017/2/8 20:43:37[吐槽]深圳-小 2017/2/8 20:43:37 群主做什么的2017/2/10 10:03:15系统消  ...

  5. [svc]centos7的服务治理-systemd

    经常用到的高频命令小结 - 所有服务unit放在这里 ll /usr/lib/systemd/system - 默认启动级别 [root@n1 ~]# ll /etc/systemd/system/d ...

  6. 《Android源代码设计模式解析》读书笔记——Android中你应该知道的设计模式

    断断续续的,<Android源代码设计模式解析>也看了一遍.书中提到了非常多的设计模式.可是有部分在开发中见到的几率非常小,所以掌握不了也没有太大影响. 我认为这本书的最大价值有两点,一个 ...

  7. 我的IT之路2013(二)

    严寒即将过去,温暖的春天正在向我们招手,欢呼吧,在迎接新的开始的同时,不要忘了回顾一下过去的这一年,总结一下过去的这一年有什么得失. 英语学习 13年下半年,最大的变化就是有很大一部分时间用来学英语. ...

  8. sqlite: Error Code : 5 (SQLITE_BUSY) (database is locked (code 5): , while compiling: PRAGMA journal_mode)

    今天遇到了一个很奇怪的问题,登录完成后,程序会莫名crash, 报了下面的错误: sqlite: Error Code : (SQLITE_BUSY) (database is locked (cod ...

  9. linux命令(39):shell 打印偶数行,奇数行 ,行号

    awk 命令: 1. 打印行号和内容: awk '{print NR":"$0}' 2. 输出:偶数行和奇数行到文件 awk '{print $0.txt > NR%2.tx ...

  10. js判断网页是真静态还是伪静态的方法

    现在很多网站都是使用以“.html“为扩展名的网页,这样做的好处是有利于搜索引擎收录和排名,或者是其他目的,如可以缩短网址使人容易记住.不过有意思的是并不是所有的以“.html”扩展名的网页都是静态的 ...