Ant编译编译APK、打包打包JS
16lz
2021-01-25
Ant编译编译APK、打包打包JS
Base on Apache Ant 1.8.4
一、Apache Ant
维基百科:http://zh.wikipedia.org/wiki/Apache_Ant
下载地址:http://ant.apache.org/bindownload.cgi
二、编译编译APK
[附件]/AntApk/README.md
- #Ant编译Android工程样例手顺
- ---
- ##基本步骤
- ###新建工程(ant支持)
- `androidcreateproject-nAntApk-tandroid-8-p.-korg.join.ant.test-aAntActivity`
- `androidcreateproject`,可查看更多参数信息
- ###旧工程添加ant支持
- `androidupdateproject-p.-s`
- `androidupdateproject`,可查看更多参数信息
- ###编译安装(debug版)
- ```
- antdebug
- antinstalld
- ```
- `ant`或`anthelp`,可查看更多目标信息
- ---
- ##更多配置
- ###ProGuard混淆
- *project.properties->proguard.config,取消#注释以启用
- *proguard-project.txt,增加混淆规则
- ###私钥签名
- *ant.properties,增加key.store、key.alias
- *免去密码输入,增加key.store.password、key.alias.password
- ###NDK编译
- *${sdk.dir}/tools/ant/build.xml,如下修改:
- ```
- <!--modify-->
- <targetname="-pre-clean"depends="-ndk-clean"/>
- <!--modify-->
- <targetname="-pre-build"depends="-ndk-build"/>
- <!--addstart-->
- <conditionproperty="has.ndkbuild">
- <and>
- <issetproperty="ndk.build"/>
- <availablefile="${ndk.build}"/>
- </and>
- </condition>
- <targetname="-ndk-clean"if="has.ndkbuild">
- <echolevel="info">ndkclean...</echo>
- <execexecutable="${ndk.build}"failonerror="true">
- <argvalue="clean"/>
- </exec>
- <deletedir="obj"/>
- </target>
- <targetname="-ndk-build"if="has.ndkbuild"depends="-ndk-clean">
- <echolevel="info">ndkbuild...</echo>
- <execexecutable="${ndk.build}"failonerror="true"/>
- </target>
- <!--addend-->
- ```
- *local.properties,增加ndk.build
- `ndk.build=...\\android-ndk-r8b\\ndk-build.cmd`
- ---
- ##其他内容
- ###android
- 该命令在`<sdk>\\tools`目录内,一般已添加至环境变量。
- ###[ant](http://ant.apache.org/bindownload.cgi"下载地址")
- 也一般将其安装目录添加至环境变量。
三、打包打包JS
3.1)打包工具
Google Closure Compiler
下载地址:https://code.google.com/p/closure-compiler/downloads/list
输出到 -> [附件]/Cutout/tools/compiler.jar
3.2)编译脚本
[附件]/Cutout/src/build.xml
- <?xmlversion="1.0"?>
- <projectname="Javascriptcompress"basedir="."default="compile">
- <taskdefname="jscomp"classname="com.google.javascript.jscomp.ant.CompileTask"
- classpath="../tools/compiler.jar"/>
- <targetname="compile">
- <jscompcompilationLevel="simple"warning="verbose"
- debug="false"output="../js/Cutout.min.js">
- <!--
- <externsdir="${basedir}">
- <filename="externs.js"/>
- </externs>
- -->
- <sourcesdir="${basedir}">
- <filename="Cutout.js"/>
- </sources>
- </jscomp>
- </target>
- </project>
四、后记
如果使用Sublime Text 2,则可以如下配置(不过不能选择目标)。
- >>Antbuild
- {
- "cmd":["ant","-f","build.xml","all"],
- "file_regex":"^(...*?):([0-9]*):?([0-9]*)",
- "working_dir":"$project_path"
- }
- >>Ant.sublime-build
- {
- "cmd":["ant"],
- "file_regex":"^*\\[javac\\](.+):([0-9]+):()(.*)$",
- "working_dir":"${project_path:${folder}}",
- "selector":"source.java",
- "windows":
- {
- "cmd":["ant.bat"],
- "encoding":"cp936"
- }
- }
- "working_dir":"$project_path"<-Buildfile:build.xmldoesnotexist!
- "encoding":"cp936"<-[Decodeerror-outputnotutf-8]
ps:附件AntApk为android sdk&ndk编译例子,Cutout为js压缩例子。
更多相关文章
- Android(安卓)YUV视频数据叠加时间信息
- Ubuntu编译Android(安卓)KitKat 4.4出现Chromium gyp HashSet_jn
- Android(安卓)Studio 出现 error: cannot find symbol variable
- 笔记之Android(安卓)Bluetooth OOP 传送文件流程小记
- 搭建环境变量时遇到的三个错误
- 最新版本(OpenSSL1.0.1e)libssl.so, libcrypto.so for Android
- Unity3d调用Anroid(Android(安卓)Studio环境)方法
- 每天一点小知识【6】
- android 错误信息大整理