Ant java Api的使用方法
来源:互联网 发布:linux wget 下载jdk 编辑:程序博客网 时间:2024/05/17 06:47
参考:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0502_gawor/0502_gawor.html
http://www.chinaaet.com/article/9809
http://www.zuidaima.com/user/1982170616236032/mood.htm
package com.test;import java.io.File;import java.util.Date;import org.apache.tools.ant.Project;import org.apache.tools.ant.ProjectHelper;import org.apache.tools.ant.taskdefs.Copy;import org.apache.tools.ant.taskdefs.Delete;import org.apache.tools.ant.taskdefs.Expand;import org.apache.tools.ant.taskdefs.Mkdir;import org.apache.tools.ant.types.FileSet;import org.apache.tools.ant.types.FilterSet;import org.apache.tools.ant.types.PatternSet;public class AntBuild {/** * @param args */public static void main(String[] args) {// 拷贝绘本资源文件File picRes = new File("d:\\app\\picBook.zip");buildPicBooks(picRes,"haha");}public static final String appDir="d:\\app";// 绘本空Android 工程存放目录public static final String apkDir = appDir+"\\apk";public static String buildPicBooks(File picRes,String title){long now = System.currentTimeMillis();//临时生成apk目录String fileName = String.format("d:\\app\\%d\\", System.currentTimeMillis());File file = new File(fileName);// 创建临时目录mkDir(file);// 拷贝APk资源文件、并替换app namecopy2Replace(file, title);//解压绘本图片、音乐unZip(file, picRes);//将绘本jpg mp3 拷贝到app工程assets里String name = picRes.getName();File picFile = new File(fileName +name.substring(0,name.indexOf(".")) );File replace = new File(String.format("%s\\OCCUPTION_PACKAGE\\assets\\dede_audios", fileName));copy(replace, "**/*.mp3", picFile);copy(replace, "**/*.MP3", picFile);replace = new File(String.format("%s\\OCCUPTION_PACKAGE\\assets\\dede_images", fileName));copy(replace, "**/*.JPG", picFile);copy(replace, "**/*.jpg", picFile);//Build apkFile build = new File(String.format("%s\\OCCUPTION_PACKAGE\\build.xml", fileName));build(build);//apk 移动到正式apk目录File appFile = new File(String.format("%s\\OCCUPTION_PACKAGE\\bin", fileName));copy(picRes.getParentFile(), "**/OCCUPTION_PACKAGE-debug.apk", appFile);//删除临时目录delDir(file); System.out.println((System.currentTimeMillis()-now)/1000+"秒"); return null;}/** * */public static void build(File file){ //1.5 以后使用,但是报错 import requires support in ProjectHelper// Project project = new Project();// try { // project.fireBuildStarted(); // project.init(); // ProjectHelper projectHelper = ProjectHelper.getProjectHelper(); // projectHelper.parse(project, file); //// project.executeTarget(project.getDefaultTarget()); //调用默认的target标签 // project.executeTarget("debug"); //调用删除target标签 // project.fireBuildFinished(null); // } catch (Exception e) { // System.out.println("#############"); // e.printStackTrace(); // } Project p = new Project(); p.init(); ProjectHelper.configureProject(p,file); p.executeTarget("debug");}/** * 文件拷贝并替换apk名字 * * @param args */public static void copy2Replace(File file, String title) {Project prj = new Project();Copy copy = new Copy();copy.setEncoding("UTF-8");copy.setProject(prj);copy.setTodir(file);FileSet fileSet = new FileSet();fileSet.setDir(new File(apkDir));fileSet.setIncludes("**/**"); // 拷贝所有文件copy.addFileset(fileSet);FilterSet filter = copy.createFilterSet();// 替换@app_name@ 为 titlefilter.addFilter("app_name", title);copy.execute();}/** * 文件拷贝 * * @param args */public static void copy(File dirFile, String include, File picFile) {Project prj = new Project();Copy copy = new Copy();copy.setEncoding("UTF-8");copy.setProject(prj);copy.setTodir(dirFile);FileSet fileSet = new FileSet();fileSet.setDir(picFile);fileSet.setIncludes(include); // 拷贝所有文件copy.addFileset(fileSet);copy.execute();}/** * make dir * * @param file */private static void mkDir(File file) {// TODO Auto-generated method stubProject prj = new Project();Mkdir mkdir = new Mkdir();mkdir.setProject(prj);mkdir.setDir(file);mkdir.execute();}/** * delete dir * * @param file */private static void delDir(File file) {// TODO Auto-generated method stubProject prj = new Project();Delete delete = new Delete();delete.setProject(prj);delete.setDir(file);delete.execute();}public static void unZip(File file, File zip) {Project prj = new Project();Expand expand = new Expand();expand.setProject(prj);expand.setSrc(zip);expand.setOverwrite(true);expand.setDest(file);PatternSet patternset = new PatternSet();patternset.setIncludes("**/**");patternset.setProject(prj);expand.addPatternset(patternset);expand.execute();}}
0 0
- Ant java Api的使用方法
- Java API的基本使用方法
- ant的使用方法
- Ant的使用方法
- java中String的API使用方法
- zookeeper Java客户端API的使用方法
- redmine-java-api的使用方法简介
- Java调用Ant API用法
- Java Excel API 使用方法
- Java Excel API 使用方法
- Java Excel API 使用方法
- Java Excel API 使用方法
- ant使用方法
- ant 使用方法
- JDBC API的使用方法
- java excel api 部分使用方法
- 新浪API(Java)使用方法
- Spark API Java编程使用方法
- xUtils在开发过程中DbUtils的使用(save,update方法)
- POJ 1004(EASY)
- JetBrain WebStorm 注册码
- AWS 功能理解小析(1)
- Ubuntu14.04安装wineqq国际版
- Ant java Api的使用方法
- static关键字作用
- Android中通过反射获取资源Id
- 第九章 第十章 服务
- ListView的setSelection()和setSelectionFromTop()联系
- oracle存储过程
- hide developer console
- mysql优化
- CentOS下编写shell脚本自动备份数据库与网站