Mac下命令行下载android源代码并构建apk过程
前提是java 、sdk、ndk 、cmake、gradle 、gradlew都已经安装和配置好。
1、下载源码:
git clone http://git-ma.xxxx.com.cn/xxxx/xxxxx-ANDROID.git
2、改实际项目有用android 的small框架,框架文件夹放在master分支上。要编译的develop 分支没有这个文件夹。需要下载下
git submodule update --init --recursive
3、进入android项目目录
./gradlew cleanLib

./gradlew buildLib
执行这个命令时提示:
What went wrong:
A problem occurred configuring project ':lib.background'.
> java.io.FileNotFoundException: /Users/xxx/AndroidStudioProjects/xxxx-ANDROID/xxxx/local.properties (No such file or directory)
就手动在项目根目录下创建一个local.properties 文件。并在文件中指定sdk 和ndk位置。内容如下:
ndk.dir=/Users/xxxx/Library/Android/sdk/ndk-bundle
sdk.dir=/Users/xxxx/Library/Android/sdk
执行结果如下:

./gradlew cleanBundle 执行结果如下

./gradlew buildBundle

- 执行命令打包 ./gradlew :app:build

查看打包好的apk

整个放在可以放在可执行的shell脚本如下:
git clone http://git-xxx.xxx.xxx.cn/xxxxx/projectname-ANDROID.git;
#进入git下载的文件夹
cd projectname-ANDROID;
#获取么子模块
git submodule update --init --recursive;
#进入项目目录
cd projectname;
#新建一个local.properties 保存自己本地ndk 和sdk文件夹
touch local.properties
echo "ndk.dir=/Users/xxxxxx/workdirectory/env/android-sdk-macosx/ndk-bundle" >> local.properties
echo "sdk.dir=/Users/xxxxxx/workdirectory/env/android-sdk-macosx" >> local.properties
date;
./gradlew cleanLib -q ;
./gradlew buildLib -q ;
./gradlew cleanBundle -q;
./gradlew buildBundle -q;
# -x test -x lint 不进行单元测试
./gradlew :app:build -x test -x lint -q; #唤醒休眠手机
adb shell input keyevent #卸载apk 前提是apk已经安装
uninstall_result=`adb uninstall com.xxx.xxx`
echo "uninstall result: "$uninstall_result;
if [[ $uninstall_result == *_FAILED_* ]]
then
echo "卸载apk不成功"
cp usyfusfjsdf ksfsdkfsdf
else
echo "卸载apk成功"
fi #安装apk
install_result=`adb install ${WORKSPACE}/xxxx-ANDROID/xxxx/app/build/outputs/apk/app-release.apk`
echo "install result: "$install_result;
if [[ $install_result == *_FAILED_* ]]
then
echo "安装apk不成功"
cp usyfusfjsdf ksfsdkfsdf
else
echo "安装apk成功"
fi
Mac下命令行下载android源代码并构建apk过程的更多相关文章
- linux/mac下命令行rm回收站--rmtrash
Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找 ...
- 在Mac OS X中下载Android源代码的一些经验
首先说明.随着最近(2014年6月開始)GFW的升级.这个站点:http://www.android.com/ 已经不能正常訪问了,以下的这些操作均是在我连接VPN的时候进行的. 首先,须要做一些准备 ...
- Mac下命令行tree生成文件树
不像Windows,Mac环境本身是没有tree命令的,但可以后天呐~ 1.下载文件包并将其放在系统目录下(本人存放路径为/Users/) https://homebrew.bintray.com/b ...
- Mac下命令行中用sublime打开指定文件 设置方法
sublime2版本 官网提供的方法:sublime2 官网提供的方法是:ln -s "/Applications/Sublime Text 2.app/Contents/SharedSup ...
- Mac下命令行批量重命名
日常中碰到需要批量修改文件名怎么办?嗯,来终端先 案例:将Users/case目录下所有html文件修改为php文件 步骤: 1.进入目标文件夹 $ cd Users/case 2.执行以下命令 $ ...
- mac下命令行安装node.js及切换不同版本nodejs
摘自: http://www.cnblogs.com/ikuyka/p/5825762.html 前提是你电脑里已经装了node.js然后才能采用以下命令(以下代码最好不要同时运行) sudo n - ...
- Mac 下用 go 开发Android应用环境设置
需要的工具 设置代理 请参考:http://www.cnblogs.com/ghj1976/p/5087049.html Mac 下命令行设置代理: export http_proxy=http:// ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
- Linux下十大命令行下载工具
Wget 这是最有名的工具,可用于通过CLI下载.这款工具功能很丰富,可以充当某种功能完备的GUI下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个 ...
随机推荐
- Ubuntu Server无法安装busybox-initramfs
解决方法很简单,使用英文安装就好,可以参考这个帖子:http://forum.ubuntu.com.cn/viewtopic.php?f=77&t=471547&p=3137632
- Communication API
Stingray WIKI Stingray javascript Communication 主要的三个方法: Communication.LinkRequest - 页面跳转,调用比较简单,直接参 ...
- 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2
一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 ...
- Python调用Windows外部程序
在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32pro ...
- Executor并发框架--线程池,ThreadToolExecutor初步
Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制.虽然只有一个方法,但是却为灵活且强大的异步任务执行框架提供了基础.它提供了一 ...
- Oracle Data Integrator 12c----一致性 CDC(Consistent CDC)
一致性 CDC 中引入了变化集的概念.一个变化集中可以包括多个相互存在关联关系(如主外键引用关系)的表.CDC 在捕获和发布一个变化集中的变化时能够保证数据的一致性.这个练习介绍如何使用能够保证一致性 ...
- 给本地服务器配置py文件的下载功能
打开以下网址 http://localhost/Myservers/test/weibo.py //本地服务器,下载Myservers目录下的test目录中的weibo.py文件 错误提示: HTTP ...
- 2011的n次方
题目:http://noi.openjudge.cn/ch0204/2991/ 总时间限制:1000ms 内存限制: 65536kB 描述 已知长度最大为200位的正整数n,请求出2011^n的后四 ...
- Window10激活
Windows10激活,通过kms激活. 01.安装对应版本的秘钥 专业版:W269N-WFGWX-YVC9B-4J6C9-T83GX 企业版:NPPR9-FWDCX-D2C8J-H872K-2YT4 ...
- js获取height和width总结
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...