`

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  
 

相关推荐

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

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

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

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

    android应用开发范例精解

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

    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经典项目案例开发实战宝典,书中所附的源代码,共包含21个经典项目案例。

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

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

    android开发艺术探索书中源码

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

    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 按钮...

    android开发入门与实战(上)

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

Global site tag (gtag.js) - Google Analytics