使用Ant打包Android应用具体解释
对于简单的Android应用。简单的几步操作就能完毕:
[aapt] invalid resource directory name: project文件夹/bin/res crunch BUILD FAILED
sdk/tools/ant/build.xml:649: The following error occurred while executing this line:
build.xml:694:null returned: 1
-obfuscate:
[mkdir] Created dir:project文件夹/bin/proguard
[jar] Building jar: project文件夹/bin/proguard/original.jar
[proguard] ProGuard, version 5.2.1
...
key.store.password=密码
key.alias.password=密码
key.alias=别名
假设你的libs中刚好有编译好的so,那打包好的apk似乎能正常执行。在配置好的jniproject,仅仅要执行ndk的ndk-build就可以完毕so的编译。因此,仅仅要在build.xml同文件夹中加入custom_rules.xml文件,内容例如以下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="工程名" default="help">
<target name="-pre-compile">
<echo >ndk build.............................</echo>
<exec executable="${ndk.dir}/ndk-build" >
</exec>
</target> </project>
主project依赖你的库project,在库project中也生成build.xml,然后依照上面的方法操作就可以。
在eclipse的Java Build Path->Libraries中调整其载入顺序,那么ant编译怎么改动呢?还是利用前面编写的custom_rules.xml,内容例如以下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="hooktest" default="help">
<property name="project.target.android.jar" value="${sdk.dir}/platforms/${target}/android.jar" />
<target name="-pre-compile"> <echo >set project target class path.............................</echo> <path id="project.target.class.path">
<pathelement location="framework.jar"/>
<pathelement location="${project.target.android.jar}"/>
</path> <property name="my.project.target.class.path" refid="project.target.class.path" />
<echo message="project.target.class.path:${my.project.target.class.path}" /> </target>
</project>
<target name="-pre-build">
<echo >copy file.............................</echo>
<copy todir="${source.absolute.dir}"> <fileset dir="其他源代码文件夹">
<include name="**/*.java" />
<include name="**/*.aidl" />
</fileset>
</copy>
</target> <target name="src-clean" >
<echo >delete file.............................</echo>
<delete dir="${source.absolute.dir}/拷贝的源代码文件夹" />
</target> <target name="-post-build" depends="src-clean">
</target>
<target name="-pre-clean" depends="src-clean">
</target>
其他问题还有如库project间的资源引用,假设直接使用默认的R文件是没有问题的,可是要是在eclipse中利用build Java Build Path->project加入了子project,而且还用了当中的R文件来应用资源,那么ant打包就还得再继续折腾
使用Ant打包Android应用具体解释的更多相关文章
- 使用Ant打包Android应用具体解释——Ant使用解析
上篇<使用Ant打包Android应用具体解释>描写叙述了使用Ant打包的流程,但非常多步骤并没有说明如此做的原因,本篇将从Ant方面来理解,下一篇从APK生成的流程来说明. APK包的生 ...
- 使用ANT打包Android应用
大家好,今天来分享一下如何使用ANT打包Android应用. 通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序.如果在Navigator视图下,我们可以看到以下几 ...
- Ant打包Android代码生成apk文件
可參考下面,实现一套代码不同渠道的打包 http://blog.csdn.net/liuhe688/article/details/6679879 http://cnn237111.blog.51ct ...
- 【Android开发经验】使用Ant批量打包Android应用全然指南
本文章由Socks完毕.博客地址:http://blog.csdn.net/zhaokaiqiang1992 转载请说明. 折腾了一下午.百度了一下午,最终实现了使用Ant对Android应用的批量打 ...
- 通过ant脚本编译打包android工程
通过ant脚本,编译打包android工程 1.Android程序编译.打包.签名.发布的三种方式: 方式一:命令行手动编译打包 方式二:使用ant自动编译打包 方式三:使用eclipse+AD ...
- Android - Ant自动编译打包android项目 -- 1(转)
1. 背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...
- Android Ant打包笔记
本文文档的下载地址(Word版):http://download.csdn.net/detail/yangwei19680827/7250711 Android Ant 打包 网上找了ant打包的资料 ...
- 【转】Android项目使用Ant打包,生成build.xml
记不住,于是原帖转过来,请看原帖:http://blog.csdn.net/ms03001620/article/details/8490238 一.生成build.xml Eclipse中使用Ant ...
- [原]Android打包之Ant打包
Android自动打包流程详细图: 使用Ant打包会简单很多,只要使用以下两个命令就可以搞定: android update project -p . --target android-18 ant ...
随机推荐
- 学习笔记一:关于directx sdk的安装于一些概念
关于directx sdk开发环境的安装: 在百度搜索了directx sdk,进入了微软的官网,下载了DXSDK_Jun10.exe 百度网盘:http://pan.baidu.com/s/1o6r ...
- c# DataTable to Object Mapping
public static class DataTableExtensions { public static IList<T> ToList<T>(this DataTabl ...
- ios OpenCv的配置和人脸识别技术
作为一个好奇心非常重的人,面对未知的世界都想去一探到底. 于是做了个人脸识别的demo. 眼下国内的关于opencv技术文章非常少.都是互相抄袭.关键是抄个一小部分还不全.时间又是非常久之前的了,和如 ...
- Django迁移到mysql数据库时的错误
pip install mysqlclient Collecting mysqlclient Using cached https://files.pythonhosted.org/packages/ ...
- .NET CORE MVC网站体验
安装SDK https://www.microsoft.com/net/download/core 运行命令行工具 mkdir coremvc cd coremvc dotnet new 文件建立成功 ...
- c# byte转化为string
byte[] bt = new byte[] { 10, 11, 33, 44, 2 }; string str=string.Join(",",bt.Select(t=>t ...
- 服务端 | Nodejs 学习笔记(一)
Node.js 前言: 2009年面世 nodejs.org 官网 https://www.npmjs.com/ 模块社区 github.com 仓库 stackoverflow.com 问答社区 ...
- canvas绘制三等分饼型图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++逐行读取文本文件的正确做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 之前写了一个分析huson日志的控制台程序,其中涉及到C++逐行读取文本文件的做法,代码是这样写的: ifstream ...
- 错误:java.lang.IllegalArgumentException: Receiver not registered
Caused by: java.lang.IllegalArgumentException: Receiver not registered: com.multak.cookaraclient.Mai ...