当前位置:首页 » 安卓系统 » antandroid打包

antandroid打包

发布时间: 2022-10-30 18:15:06

Ⅰ Ant打包功能求解!BUILD FAILED

你看看后面是不是有这样的错误:
BUILD FAILED
D:\android\sdk\tools\ant\build.xml:649: The following error occurred while executing this line:
D:\android\sdk\tools\ant\build.xml:694: Execute failed: java.io.IOException: Cannot run program "D:\android\sdk\build-tools\23.0.0_rc2\bin\aapt.exe" (in directory "D:\Cocos\HelloCocos\proj.android"): CreateProcess error=2, 系统找不到指定的文件。
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
....

看提示:系统找不到指定的文件。是哪个文件呢?是这个:D:\android\sdk\build-tools\23.0.0_rc2\bin\aapt.exe,你去你的sdk目录下看看是否有这个文件夹和文件bin\aapt.exe;没有的话自己新建一个,然后将aapt.exe和zipalign.exe复制进去,这两个文件在你D:\android\sdk\build-tools\23.0.0_rc2目录下。然后在编译。我的错误就是这样解决的。不知道能否解决你的问题。个人经验,仅供参考。

Ⅱ Android怎么把一个现有工程打包成sdk

方法一
使用eclipse导出jar包:我们知道一个java项目是可以用eclipse导出jar包的,安卓工程也一样,只要按普通的方法export就可以了。不过,export出来的包是没有混淆过的,如果你要混淆,还需要单独对你的jar包执行一次proguard程序,可参考proguard使用指南。
方法二
使用脚本打包:我个人比较喜欢该方法,因为android工程项目并不是只有JAVA代码,有的资源也需要提供出来,而使脚本可以更加定制化一些。
android的SDK默认提供了一个ant打包的脚本,具体使用方法,可参考之前的BLOG,使用ant打包APK及依赖包最佳解决办法
我们可以看出,打包,最终调用的其实是android sdk下的ant脚本,既然安卓已经帮我们写好了ant脚本,我们就好好利用。
使用上面的BLOG中介绍的方法,先在工程目录中生成你的build.xml,然后自己写一个target

<target name="sdk"
depends="-set-release-mode, -release-obfuscation-check, -compile, -post-compile, -obfuscate">
</target>
这段target代码,就是只执行到了混淆的脚本。然后我们在build.xml中选择右键,run as, 第二个ant Build,然后选择要执行的target为我们加上的sdk。
等执行完成后,就会在project/bin/proguard/obfuscated.jar找到你所要的jar包。

Ⅲ hbuilder怎么打包成android

hbuilder打包过程比较复杂。

首先打开hbuilder新建一个移动APP选项,选择一个空模板,然后选择需要打包的文件,然后点击“发行”-“打原生安装包”,选择Android,使用Google开发者证书进行打包。

其实如果是要将网页打包成apk的话,有更加简单的方法,只需要一个网址,一辆分钟就可以封装成一个安卓APP。

封装不会改变你网页里的内容,你的网页是什么样的,封装后就是什么样的。

手机搜索微导流,点击“封装打包”

封装好的APP可以直接下载安装包。

Ⅳ 如何将android原生应用改成ant方式编译

android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤:
1.用aapt命令生成R.java文件
2.用aidl命令生成相应java文件
3.用javac命令编译java源文件生成class文件
4.用dx.bat将class文件转换成classes.dex文件
5.用aapt命令生成资源包文件resources.ap_
6.用apkbuilder.bat打包资源和classes.dex文件,生成unsigned.apk
7.用jarsinger命令对apk认证,生成signed.apk

eclipase手动打包生成apk方式,只不过是eclipase代替我们执行了以上命令而已。

eclipse用起来虽然方便,为什么要使用Ant批量打包Android应用,对于我来说主要有以下两方面考虑:
1、我们在发布App的时候,可能需要发送到十几,甚至几十个不同的分发渠道,比如360手机市场,网络,应用宝等等,我们可能需要对各个渠道的下载量,用户存留和用户使用情况等数据进行分析,比如使用网络移动统计,友盟统计等。为了实现统计功能,我们需要在配置文件中添加一个数据元,来标识我们的应用要发布到哪一个渠道上,因此,若使用传统的方法,我们每发布一个渠道的版本,就需要修改清单文件中的数据元,然后再使用keystore进行签名和打包。若只有一两个分发渠道,工作量还是可以接受的,但是若我们的分发渠道打到几十个的时候,我们如果再手动的进行修改然后签名打包发布,那工作量就很可观了。因此,为解决这种需求,我们采用Ant来实现对Android应用的自动打包。
2、我们做产品的时候,肯定需要经常打不同环境的包,比如开发环境,测试环境,生产环境,这个时候你怎么办,如果用传统方法,你打开发环境包你要把你的服务端IP和图片服务器IP改成开发的,打包,然后打测试的包,你又要改成测试服务器IP和图片服务器IP,这样多麻烦,如果你把这服务端IP和图片服务器IP,配置到一个xml文件里,用ant打包方式实现自动替换,多方便。

Ⅳ 如何使用android自带的ant

Ant是android的编译打包工具,一个很好的跨平台构建工具,特别是对于Java项目,这里使用它对Android工程进行自动化构建可以得到非常大的便利。一般来说对Android工程进行构。

使用Ant搭建Android开发环境,建立android项目

配置Ant环境在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。

打开系统环境变量,在系统变量栏点击新建,变量名输入“ANT_HOME”,变量值为Ant的根目录,如“D:\Android\apache-ant-1.9.0”,注意不要带双引号。

在系统变量中找到Path变量,点击编辑,在变量值的最后添加“%ANT_HOME%\bin”,注意不要带双引号,并且要使用“;”和之前的变量值隔开。

打开一个cmd窗口,输入“ant”,如果显示一下信息,说明Ant的环境配置成功,如果显示:'ant'
不是内部或外部命令,也不是可运行的程序或批处理文件。则要检查一下路径是否有问题。

在Eclipse中配置Ant

在eclipse中使用Ant之前,为了使Ant的build.xml文件能够安装制定的格式进行缩进和高亮显示,并能够进行代码提示,首先要简单的设置一下。

打开Windows - Preferences,依次展开General,Editors,选中File Associations,点击Add...,在Add
File Type对话框中输入build.xml,点击Ok。

接下来在File type:栏选中build.xml,在Associated Editor:栏选中Ant
Editor,点击Default,build.xml的图标变成了一个小蚂蚁,配置完毕。

使用Ant编译Android的java代码和native代码

新建一个Android工程TestAnt,在工程的根目录下新建一个build.xml文件

输入以下内容:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="init"> <target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail> </target> </project>

打开cmd,切换到工程根目录,输入ant init

编译成功,来解析这个build.xml:
<project name="TestAnt" default="init">

project是Ant工程的根节点,name属性是工程的名称,default是默认执行的target,init为默认的target,当我们输入Ant的时候和Ant
init是一样的效果。
<target name="init"> <fail message="Ant 1.7.0 or higher is required."> <condition> <not> <antversion property="ant.version" atleast="1.7.0" /> </not> </condition> </fail> </target>

target指定了要执行的操作,init是我们为这个target所起的名字,也可以是build,clean等等。在这个target中,执行的是检查Ant的版本,如个小于1.7.0的话会输出报错信息。

例如我们可以添加一个clean的target
<target name="clean"> <echo message="Deleting temporary files..." /> <delete dir="gen" /> <delete dir="bin" /> <delete dir="out" /> <delete dir="obj" /> <echo message="DONE (Deleting temporary files)" /> </target>

执行的操作是删除所有临时目录,在cmd窗口中输入Ant clean,这四个临时目录就会被删除,和在eclipse中执行清理是一个效果。

使用Ant编译Android工程

在SDK中,Google已经为我们写好了一个build.xml文件,就是sdk根目录\tools\ant\build.xml,所以我们只要把这个build.xml引入就可以编译Android工程了。

在这之前首先要新建一个local.properties文件,引入sdk和ndk的路径

输入一下内容:

sdk.dir=D:\\Android\\android-sdk
ndk.dir=D:\\Android\\android-ndk

分别为sdk和ndk的路径,要安装自己的实际路径进行配置。

在测试工程的build.xml中输入一下代码:
<?xml version="1.0" encoding="UTF-8"?><project name="TestAnt" default="release"> <loadproperties srcFile="local.properties" /> <loadproperties srcFile="project.properties" /> <fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="sdk.dir" /> <fail message="ndk.dir is missing. Make sure to generate local.properties using 'android update project'" unless="ndk.dir" /> <import file="${sdk.dir}/tools/ant/build.xml" /></project>

在命令行中执行ant release或ant debug,就会执行对应的编译。

以上只是进行Java代码的编译,如何编译native代码呢,在NDK中Google可没有提够build.xml,这就需要我们自己实现。在新版NDK中,我们只要在命令行中切换到工程的根目录,然后执行

“D:\Android\android-ndk\ndk-build.cmd”(红色部分要替换成自己的路径)

就可以,例如,在TestAnt工程中添加native代码

执行ndk-build

所以我们只要在Ant中执行一个cmd命令就可以了,在build.xml中添加
<target name="native"> <echo message="Building native libraries..." /> <exec executable="${ndk.dir}/ndk-build.cmd" failonerror="true" /> <echo message="DONE (Building native libraries)" /> </target>

然后在命令行中执行ant native

执行了ndk-build。

以上介绍的都是使用Ant进行进步的Android编译操作,在此基础上可以实现更复杂的操作,比如批量替换资源文件,批量打包等等。

Ⅵ android 使用ant自动打包,某些Jar包包含assets目录存放资源文件

<!-- 将资源文件放进输出目录 -->
<target name="package-res-and-assets">
<echo>Packaging resources and assets...</echo>
<exec executable="${aapt}" failonerror="true">
<arg value="package" />
<arg value="-f" />
<arg value="-M" />
<arg value="${manifest-xml}" />
<arg value="-S" />
<arg value="${resource-dir}" />
<arg value="-A" />
<arg value="${asset-dir}" />
<arg value="-I" />
<arg value="${android-jar}" />
<arg value="-F" />
<arg value="${resources-package}" />
</exec>
</target>

Ⅶ 求教关于ant引用android第三方工程打包的问题

贴上build.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<projectname="ProjectName"default="release"basedir=".">
<propertyfile="config.properties"/>
<propertyfile="ProjectHome.properties"/>
<!--ANT环境变量-->
<propertyenvironment="env"/>
<!--生成R文件的相对目录-->
<propertyname="outdir-gen"value="${project.home}/gen"/>
<!--编译后的文件放置目录-->
<propertyname="outdir-bin"value="${project.home}/bin"/>
<!--输出目录-->
<propertyname="outdir"value="${project.outdir}"/>
<!--清单文件-->
<propertyname="manifest-xml"value="${project.home}/AndroidManifest.xml"/>
<!--源文件目录-->
<propertyname="resource-dir"value="res"/>
<propertyname="asset-dir"value="assets"/>
<!--资源文件目录-->
<propertyname="drawable-dir"value="${resource-dir}/drawable"/>
<propertyname="drawable-hdpi-dir"value="${resource-dir}/drawable-hdpi"/>
<propertyname="drawable-ldpi-dir"value="${resource-dir}/drawable-ldpi"/>
<propertyname="drawable-mdpi-dir"value="${resource-dir}/drawable-mdpi"/>
<propertyname="drawable-zh-rCN-dir"value="${resource-dir}/drawable-zh-rCN"/>
<!--java源文件目录-->
<propertyname="srcdir"value="src"/>
<propertyname="srcdir-ospath"value="${project.home}/${srcdir}"/>
<!--动态库so文件目录-->
<propertyname="library"value="${project.home}bs"/>
<!--第三方library-->
<propertyname="library-dir"value="${library-dir}"/>
<propertyname="library-dir2"value="${library-dir2}"/>
<!--外部类库所在目录-->
<propertyname="external-lib"value="lib"/>
<propertyname="external-lib-ospath"value="${project.home}/${external-lib}"/>
<!--生成class目录-->
<propertyname="outdir-classes"value="${outdir-bin}/classes"/>
<propertyname="outdir-classes-ospath"value="${outdir-classes}"/>
<!--classes.dex相关变量-->
<propertyname="dex-file"value="classes.dex"/>
<propertyname="dex-path"value="${outdir-bin}/${dex-file}"/>
<propertyname="dex-ospath"value="${dex-path}"/>
<!--经过aapt生成的资源包文件-->
<propertyname="resources-package"value="${outdir-bin}/resources.ap_"/>
<propertyname="resources-package-ospath"value="${resources-package}"/>
<!--未认证apk包-->
<propertyname="out-unsigned-package"value="${outdir-bin}/${appName}-unsigned.apk"/>
<propertyname="out-unsigned-package-ospath"value="${out-unsigned-package}"/>
<!--证书文件-->
<propertyname="keystore-file"value="${keystore}"/>
<!--已认证apk包-->
<propertyname="out-signed-package"value="${outdir-bin}/${appName}.apk"/>
<propertyname="out-signed-package-ospath"value="${out-signed-package}"/>
<!--已优化apk包-->
<propertyname="zipalign-signed-package"value="${outdir-bin}/${appName}${version}_release.apk"/>
<!--输出路径的apk包-->
<propertyname="outdir-package"value="${project.outdir}/${appName}.apk"/>
<!--初始化工作-->
<targetname="init">
<echo>...</echo>
<deletedir="${outdir-bin}"/>
<deletedir="${outdir-gen}"/>
<mkdirdir="${outdir-gen}"/>
<mkdirdir="${outdir-bin}"/>
<mkdirdir="${outdir-classes}"/>
<!--把缺少的BuildConfig复制进去,暂时不知道如何生成-->
<file="ZI-master-BuildConfig.java"tofile="${outdir-gen}/com/yixia/zi/BuildConfig.java">
<filterset>
<filtertoken="CONFIG.FROM"value="${package.from}"/>
</filterset>
</>
<file="VitamioBundle-BuildConfig.java"tofile="${outdir-gen}/com/yixiaitamiobrary/BuildConfig.java">
<filterset>
<filtertoken="CONFIG.FROM"value="${package.from}"/>
</filterset>
</>
</target>
<!--根据工程中的资源文件生成R.java文件-->
<targetname="GenRJAVA"depends="init">
<echo>GeneratingR.java/Manifest.javafromtheresources...</echo>
<execexecutable="${android-aapt}"failonerror="true">
<argvalue="package"/><!--package表示打包-->
<argvalue="-m"/><!--m,J,gen表示创建包名的目录和R.java到gen目录下-->
<argvalue="-J"/>
<argvalue="${outdir-gen}"/>
<argvalue="-M"/><!--M指定AndroidManifest.xml文件-->
<argvalue="${manifest-xml}"/>
<argvalue="-S"/><!--S指定res目录,生成对应的ID,可多个-->
<argvalue="${resource-dir}"/>
<argvalue="-S"/>
<argvalue="${library-dir}/res"/><!--注意点:同时需要调用Library的res-->
<argvalue="-S"/>
<argvalue="${library-dir2}/res"/><!--注意点:同时需要调用Library的res-->
<argvalue="-I"/><!--I指定android包的位置-->
<argvalue="${android-jar}"/>
<argvalue="--auto-add-overlay"/><!--这个重要,覆盖资源,不然报错-->
</exec>
<!--根据库应用中的资源文件生成R.java文件-->
<execexecutable="${android-aapt}"failonerror="true">
<argvalue="package"/>
<argvalue="-m"/>
<argvalue="--auto-add-overlay"/>
<argvalue="-J"/>
<argvalue="${outdir-gen}"/>
<argvalue="-M"/>
<argvalue="${library-dir}/AndroidManifest.xml"/><!--库应用的manifest-->
<argvalue="-S"/>
<argvalue="${resource-dir}"/>
<argvalue="-S"/>
<argvalue="${library-dir}/res"/>
<argvalue="-I"/>
<argvalue="${android-jar}"/>
</exec>
<!--根据库应用中的资源文件生成R.java文件-->
<execexecutable="${android-aapt}"failonerror="true">
<argvalue="package"/>
<argvalue="-m"/>
<argvalue="--auto-add-overlay"/>
<argvalue="-J"/>
<argvalue="${outdir-gen}"/>
<argvalue="-M"/>
<argvalue="${library-dir2}/AndroidManifest.xml"/><!--库应用的manifest-->
<argvalue="-S"/>
<argvalue="${resource-dir}"/>
<argvalue="-S"/>
<argvalue="${library-dir2}/res"/>
<argvalue="-I"/>
<argvalue="${android-jar}"/>
</exec>
</target>

Ⅷ ant 打包Android项目 报custome_rules.xml错误 哪位大神知道解决方法

res文件夹里面放的全部都是这个android应用中使用到的资源文件,也就是,图片文件,声音文件,文本文件,布局文件,动画文件,等等等等!!XML,在android中除了xml的基本作用以外,主要是写布局文件用的,你平时看到的那些android程序那些界面,都是用xml布局写出来的,除此之外,还可以用xml定义一些动画,以及一些常用的常量等

Ⅸ ant打包安卓apk怎么实现.9图识别,现在就是报错,在不改图的情况下可以完成识别不

跟.9没关系吧,最好能把错误的log日志打印出来

Ⅹ cocos2dx用ant打包出现if 语句与安卓SDK冲突的问题

你要是写出NDK的版本,以及错误信息。
建议使用r9d版本,r10版本有问题。
这里给题主几个小建议,方便发现问题的所在
1、在bat脚本中 set NDK_LOG=1,打开make的日志输出
2、在mk文件中通过$(info xxxxx) ,输出你定义的信息,方便定位是哪儿了问题

热点内容
用户登录密码设置规则是什么 发布:2025-03-06 17:04:40 浏览:749
海外移动账号访问 发布:2025-03-06 17:00:09 浏览:813
samba在服务器搭建 发布:2025-03-06 16:53:35 浏览:168
图片管理数据库 发布:2025-03-06 16:51:05 浏览:980
用旧电脑搭建家用服务器 发布:2025-03-06 16:48:54 浏览:251
台式电脑如何与安卓手机连接蓝牙 发布:2025-03-06 16:48:47 浏览:816
奇博源码 发布:2025-03-06 16:47:43 浏览:986
原油存储罐 发布:2025-03-06 16:12:21 浏览:55
excel写入sql 发布:2025-03-06 15:54:19 浏览:948
脚本自动加好友 发布:2025-03-06 15:54:19 浏览:408