`

android开发过程中我是怎么一步步让项目自动化起来的

阅读更多

我接触做android开发,可能用到的工具大概有这么几个,eclipse、 intellij、 android studio、WebStorm、 rubymine。后两者主要不是做native开发。当然新建项目的时候也有不同。一种是通过ide, 另外一种是通过命令行。我个人认为用命令行建立的project,因为这样做可以自动化起来。 下面来讲一讲,开发过程中我是怎么让项目自动化起来的。当然这些通过ide也可以很好的完成。

多说一点为什么不用ide,而是要自己写命令去执行。其实他和不用ide去创建project有一个共同的原因,你不知道这其中发生了什么。

1.做一个简单能够跑的同的自动化脚本

   这个是在上一次的博客中有介绍。主要是将一些命令,做成shell脚本,集成到一个文件中,然后在build 和install的时候,只需要执行这个脚本就可以。我的是sh debug.sh 。具体的可以参考一下上次发的blog。 将jt生成的项目自动化work的脚本 。但是这个版本的脚本存在一个问题:每次变更项目的时候都得重新的设这package name 和apk name,这样做起来让我觉得很不爽,因为我本来就是一个比较懒的人,还要我去每次都修改。所以产生了第二个想法。从程序中读取这些变量。

2. 程序自动读取package name 和apk name 

这个前前后后做了将近一周。不过蛮有意思的。当然在读取变量的时候可能有更好的办法。鉴于笔者对shell了解程度之浅,所以只好用这种笨的方法。需要说明的是,如果使用此脚本,需要做到一下几点:

 a.此文件和AndroidManifest.xml在同一个目录下 

 b.启动activity 必须为MainActivity

 c.MainActivity必须在项目名下(com.google.android),或者在项目名的activities文件夹下面

 暂时想到就这些,发现了再补充。

另外这次为了更好的提示,在输出信息的时候加了一些颜色提示。比如正在处理的操作,出现错误的提示(红色)。还想加入的是提示声。但是没有找到合适的脚本所以放弃了。好啦,不多少,贴代码

 

#!/usr/bash
#user fortunezhang
#email zhangfortune527@gmail.com
# 使用须知
#a.此文件和AndroidManifest.xml在同一个目录下
#b.启动activity 必须为MainActivity
#c.MainActivity必须在项目名下(com.google.android),或者在项目名的activities文件夹下面


echo "\033[32;49;41m auto running\033[39;49;0m"
#收集信息
#包名
line=`grep -r 'package=\"com' AndroidManifest.xml | head -1 `
s=${line#*\"};
package_name=${s%%\"*}

#app名
eval grep  'android:name=\".activities.MainActivity\"' AndroidManifest.xml
if [ $? -eq  0 ];then
    app_name="$package_name"".activities.MainActivity"
else
    app_name="$package_name"".MainActivity"
fi

#apk名
apk_name=${package_name##*\.}
debug_name="$apk_name""-debug.apk"

#清楚
echo "\033[32;49;11m clean apk ... \033[39;49;0m"
adb clean

#卸载手机上已经存在的app,如果不需要卸载注释下面就可以了,前面加#
echo "\033[32;49;1m uninstall apk ... \033[39;49;0m"
(adb uninstall $package_name)

#尝试debug,出现错误会显示红色字样
echo "\033[32;49;1m debug ...  \033[39;49;0m"
ant debug
if [ $? -eq 1 ]; then
    echo "\033[32;49;31m failed  \033[39;49;0m"
    return ;
fi

#安装到手机
echo "\033[32;49;1m debug success and ready to install apk  \033[39;49;0m"
adb install -r bin/$debug_name
echo "\033[32;49;1m install success ready start it  \033[39;49;0m"

#启动app
echo "\033[32;49;1m start activity   \033[39;49;0m"
adb shell am start -n $package_name/$app_name
echo "\033[32;49;1m start activity success then see your phone \033[39;49;0m"

 以上命令可能做的不是很好,希望有兴趣的可以共同讨论下。

 

0
1
分享到:
评论
1 楼 cherrychai0725 2013-08-26  
 

相关推荐

    jenkins+Gradle实现Android_Studio自动化构建打包

    Jenkins 是一个基于 Java 的开源自动化服务器,Gradle 是一个基于 Apache Ant 和 Maven 的构建工具,Android Studio 是一个基于 IntelliJ IDEA 的 Android 集成开发环境。为了实现 Android 项目的自动化构建和打包,...

    Android项目开发详解,完整扫描版

    全书以一个Android应用程序开发案例为主线,介绍了整个Android项目开发的过程。在内容的编排方面,为突出项目编程方法与编程思路这条主线,将Android组件的使用分配到每一个功能界面中讲解。《移动平台开发书库:...

    Android编程典型实例与项目开发 吴亚峰 杜化美 苏亚光 PDF扫描版

    让读者很容易将所学的知识融会贯通 快速掌握android平台下的商务软件 3d游戏及2d游戏的开发过程 同时在本书随书光盘的源代码中包含详尽的注释 以求尽量帮助读者快速理解代码的每一个细节 尽快掌握android平台下的...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android经典项目案例开发实战宝典源码

    Android经典项目案例开发实战宝典,书中所附的源代码,共包含21个经典项目案例。

    android开发项目案例(大学期间课程作业)

    android开发项目案例(大学期间课程作业)

    android开发期末大作业.zip

    android开发期末大作业(项目源码,任务书,实验大报告,apk文件) 大作业的要求和内容:(包括题目选择范围、技术要求、递交时间、考核方法等) 一、实验项目名称 Android手机应用开发课程大作业 二、实验目的 1....

    Android项目开发范例大全

    Android项目开发范例大全

    Android经典项目开发实战_源代码

    《Android经典项目开发实战》这本书的源代码

    《Android应用开发详解》源码

    《Android应用开发详解》源码,完整版,值得看一看。 《Android核心技术和开发...然后会向读者讲解如何搭建.Android的开发环境、如何在Eclipse中创建一个项目,以及如何使用Android平台提供的工具调试和监控应用程序。

    android开发入门与实战(下)

    7.2 我的美丽我做主——Android中应用界面布局 7.2.1 实例操作演示 7.2.2 实例编程实现 7.3 不积跬步无以至千里——常用widget组件介绍 7.3.1 创建widget组件实例 7.3.2 按钮(Button)介绍与应用 7.3.3 文本框...

    [14本经典Android开发教程]-3-Android SDK 中文开发文档

    [14本经典Android开发教程]-3-Android SDK 中文开发文档 什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上...

    使用Java自动化方法模拟Android人工点击、触屏事件(含platform-tools工具)

    使用Java自动化方法模拟Android人工点击、触屏事件(含platform-tools工具)

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    android开发艺术探索书中源码

    此资源是android开发艺术探索这本书上的源码,仅供参考,还是得自己动手敲一敲才有意义,更有效率的提高自身水平。这是,任玉刚大神(此书作者)在群里发的,我正好看到,在此分享给大家。

    老罗android开发视频教程全集百度网盘下载

    Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行...

    Android 平板电脑应用开发入门经典

    在构建一些有助于你开发自己的Android平板应用的示例平板项目后,你会迅速掌握Android 3。 主要内容 ◆ 构建通用的Android UI,使用Fragment动态组装活动 ◆ 使用Action Bar条目展现常用功能 ◆ 检查Android用户界面...

    Android自动化测试手段之Monkey测试工具

    Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常。 当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,...

    Android开发之旅 完整版pdf

    • Android 开发之旅:HelloWorld项目的目录结构 • Android 开发之旅:android架构 • Android 开发之旅:应用程序基础及组件 • Android 开发之旅:应用程序基础及组件(续) • Android 开发之旅:活动与任务...

    《Google Android开发入门与实战》.pdf

    7.2 我的美丽我做主——android中应用界面布局 64 7.2.1 实例操作演示 65 7.2.2 实例编程实现 66 7.3 不积跬步 无以至千里——常用widget组件介绍 75 7.3.1 创建widget组件实例 75 7.3.2 按钮...

Global site tag (gtag.js) - Google Analytics