1. 项目完成后,以前实现的流程都是自己手动打包项目(编写混淆文件,手动打包)。但是现在公司要求自动化打包项目,Android 开发人员要配合测试人员编写自动化打包脚本文件。(具体自动化打包脚本是由测试人员编写,我们也就是提供一些简单命令给他们,例如Android Studio上面的编译命令 Gradle Build)

其实在这整个过程当中,首先需要确保项目工程在自己本地(也就是 Android Studio)上面可以命令行编译打包成功(也其实就是使用 gradle build 命令编译成功);在就是打包机器上的开发环境需要和自己使用的开发环境需要保持一致(也就是Android Studio 的配置环境),不然自动化打包就会出现错误;

在这次的打包过程中,自己就踩过下面这些坑:


解决办法:这个不是什么程序或者环境的问题,主要是当前网络不好造成


解决办法:出现这个问题主要是我自己Android Studio的开发环境使用的是 SDK android-24,但是打包机器电脑上面的开发环境没有 SDK android-24,所以将 SDK android-24添加到 Platforms 目录下面就ok了



解决办法:跟上面一样,出现这个问题主要也是两边使用的开发环境不一致导致的;可以进入打包机器上的开发环境中查看 build-tools 目录,将 24.0.3改为目录中有的版本号就可以了


解决办法:MMI-RobotTouGu是我的主工程,而ShareMainLib和ShareLib都是我工程的依赖库文件;而在主工程当中使用的 compile 'com.android.support:appcompat-v7:24.+',而在两个依赖库当中使用的是compile 'com.android.support:appcompat-v7:24.2.1';将三个工程中使用的依赖库改为同一个就ok了

:shareMainLib:prepareComAndroidSupportAppcompatV72400Alpha1Library
:shareMainLib:prepareComAndroidSupportSupportV42400Alpha1Library
:shareMainLib:prepareComAndroidSupportSupportVectorDrawable2400Alpha1Library
:shareMainLib:prepareReleaseDependencies
:shareMainLib:compileReleaseAidl FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':shareMainLib:compileReleaseAidl'.
> java.lang.IllegalStateException: aidl is missing

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

解决办法:导致问题的原因是 BuildTools Version与Compile Sdk Version不兼容导致。我是将 module 的模块设置中把 build-tools version 版本调低一个版本;以前使用的是 24.0.3,后面将版本改为 23.0.1 就正常了


最后,关于Android 的自动化编译也可以参看:http://www.th7.cn/Program/Android/201504/439465.shtml

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
  3. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  4. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  5. Python入门(一)——环境的搭建,创建第一个Python项目:Hello World
  6. Android(安卓)培训计划:如何从功能机时代的 C/C++ 工程师转型至 A
  7. Android(安卓)给应用定制皮肤-------值得一看
  8. 使用Tortoise SVN版本控制Android项目in eclipse的注意事项
  9. 整合Plugin-X之后的ios项目配置

随机推荐

  1. 修改dialog的大小
  2. Android usb网络共享开关
  3. android 中常用的权限
  4. Android 图片缩放
  5. 2012.08.24——— android ndk 编译ffmpe
  6. Android(安卓)、 WP 7 、IOS
  7. 从 android sqlite 中获取boolean值
  8. android子线程中刷新界面控件
  9. Android 控件的显示和隐藏
  10. Android WebView中的JavaScript调用andro