博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac下命令行下载android源代码并构建apk过程
阅读量:6928 次
发布时间:2019-06-27

本文共 1844 字,大约阅读时间需要 6 分钟。

前提是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.propertiesecho "ndk.dir=/Users/xxxxxx/workdirectory/env/android-sdk-macosx/ndk-bundle" >> local.propertiesecho "sdk.dir=/Users/xxxxxx/workdirectory/env/android-sdk-macosx" >> local.propertiesdate;./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 26#卸载apk 前提是apk已经安装uninstall_result=`adb uninstall com.xxx.xxx`echo "uninstall result: "$uninstall_result;if [[ $uninstall_result == *_FAILED_* ]]then  echo "卸载apk不成功"  cp usyfusfjsdf ksfsdkfsdfelse  echo "卸载apk成功"fi#安装apkinstall_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 ksfsdkfsdfelse  echo "安装apk成功"fi

 

 

 

转载地址:http://ivkjl.baihongyu.com/

你可能感兴趣的文章
独领风骚:单例模式
查看>>
如花搞笑图片集锦(转贴)
查看>>
spring mvc DispatcherServlet详解之前传---FrameworkServlet
查看>>
Sql开发技巧
查看>>
TDictionary 是delphi用的,c++builder用起来太吃力。
查看>>
centos安装redis及php-redis扩展
查看>>
[DOM Event Learning] Section 4 事件分发和DOM事件流
查看>>
GBK、UTF8、UNICODE编码转换
查看>>
关于web页面性能测量指标与建议
查看>>
linux tar命令简介
查看>>
GTD时间管理(1)---捕获搜集
查看>>
分享web前端七款HTML5 Loading动画特效集锦
查看>>
HttpWebRequest和HttpWebResponse
查看>>
oracle10g获得Date类型字段无分,秒的解决方案!
查看>>
POJ2029——Get Many Persimmon Trees
查看>>
精彩理发头盔
查看>>
Android基调(十六)- Service:startService()、stopService()、bindService()、unbindService()加...
查看>>
linux 安装jdk
查看>>
ubuntu 编译android 源码笔记
查看>>
ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)
查看>>