阅读更多 一、工作需求:
ANT工具,一个命令发布整个工程。包括的工作:
(1)压缩Web工程中的CSS和JS代码,导出到Android工程的assets目录下;
(2)编译工程的库工程,另外一个Android工程;
(3)编译Android工程,打包,混淆,签名,发布。

二、工作中常见问题:
(1)生成build.xml文件:
E:\MyCode\Eclipse\android\iSettings>android list targets | moreAvailable Android targets:----------id: 1 or "android-9"     Name: Android 2.3.1     Type: Platform     API level: 9     Revision: 2     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854 Tag/ABIs : default/armeabi----------id: 2 or "android-15"     Name: Android 4.0.3     Type: Platform     API level: 15     Revision: 3     Skins: WXGA800, WVGA854, WXGA720, WQVGA400, WSVGA, WVGA800 (default), QVGA, WQVGA432, HVGA Tag/ABIs : default/armeabi-v7a----------id: 3 or "android-17"     Name: Android 4.2.2     Type: Platform     API level: 17     Revision: 2-- More  --E:\MyCode\Eclipse\android\iSettings>android update project -p . -t 2Updated project.propertiesUpdated local.propertiesUpdated file E:\MyCode\Eclipse\android\iSettings\proguard-project.txtIt seems that there are sub-projects. If you want to update themplease use the --subprojects parameter.

命令android update project -p . -t 2中,点号“.”代表当前目录,“2”代表使用API level: 15的环境。

此时生成了3个文件:build.xml,local.properties,proguard-project.txt

(2)sdk.dir,如何配置:
查看local.properties,里面只有一行内容:
sdk.dir=D:\\OpenSource\\android-sdk-windows

当它被上传到到SVN服务器被别人下载后,别人将使用不了这个环境。查看build.xml,里面有如下描述:
                    

所以需要做的是:
1、配置环境变量ANDROID_HOME:
E:\MyCode\Eclipse\android\iSettings>echo %ANDROID_HOME%D:\OpenSource\android-sdk-windows

2、删除local.properties

我想阅读本文的读者都会配置环境变量吧。


(3)编译错误的处理:
参考代码%ANDROID_HOME%/tools/ant/build.xml:
                                                            


1)编译中的-Xlint:deprecation -Xlint:unchecked等警告:
在build.xml中增加以下语句来设置java.compilerargs属性:

2)找不到包错误:
1>jar库文件不在libs目录下:
设置属性project.all.jars.path:
               !!!!!!!!!!!!  -pre-compile  !!!!!!!!!!!!!                                                                                                                                                                    

2>jar库文件是有顺序要求的:
设置属性project.target.class.path:
               !!!!!!!!!!!!  -pre-compile  !!!!!!!!!!!!!                                                                                                                                                                                                  

3>说明:
为什么会有有顺序要求的jar库文件?因为程序员要优先使用某个库文件里面的类,当没有的时候才使用其他的库里面的类。
有个很常见的应用场景,码农们编译了Android源代码,想使用里面带@hide的函数,但是Android SDK里面没有那个函数,怎么办?只有使用Android 源代码编译出来的库文件。
具体来说主要是以下文件:
#见http://blog.csdn.net/xixinyan/article/details/6942074所描述out\target\common\obj\JAVA_LIBRARIES\framework_intermediates/classes.jar out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\ classes.jar ;

如上2>就是使用了这种Android SDK作为外部库,然后排了顺序后交给javac编译工程源码的。
(4)签名配置:
生成keystore文件后,配置属性key.store和key.alias就行了

(5)其他:
ant cleanant debugant releaseant installdant installr
  • 大小: 97.4 KB
  • 查看图片附件

更多相关文章

  1. 初涉Android之文件保存
  2. 在Android上授权Adobe AIR应用程序
  3. Android基础笔记(一)-快速入门
  4. Android(安卓)源码下载
  5. Android(安卓)打造编译时注解解析框架 这只是一个开始
  6. 在android平台上如何实现H264解码
  7. Android(安卓)文件系统及权限修改
  8. Android(安卓)打包签名
  9. Android野史系列:3.利用Android(安卓)Studio开发一个demo应用

随机推荐

  1. Android(安卓)蓝牙开发浅析
  2. Setting up proxy for Android(安卓)Emul
  3. Android(安卓)app中调用启动其他应用(系统
  4. Android开发资料集合
  5. 2010.11.15———android spinner下拉列
  6. JohnTsai的Android开发周报(一)
  7. Android(安卓)UI 学习
  8. android 简单实用的Log打印类封装,助你快
  9. Android中文API(135) —— SQLiteCursorDri
  10. Android的ListView数据更新后,如何使最新