ant 简单的打包,为什么不成功

我下载的eclipse 是新版,然后点击导出,选择 ant ,出现build.xml文件,配置好运行,运行一下ant,显示运行成功,但是时间是0秒,生成了一个bin文件夹,但是里面没有jar,请大大们指教图片说明

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用SDK和ant打包apk,高德地图的so文件打包不进apk,怎么解决啊
使用SDK和ant打包apk,高德地图的so文件打包不进apk,怎么解决啊
ant 打包j2me 怎么打包jad文件
我公司现在要用ant打包j2me程序,我打包了jar文件之后,发现不能打包jad文件,没找到ant里类似jad的标签(打包直接可以用jar标签,但是没有jad标签),急急急!!!
openfire源码二次开发,打包到tomcat,基于源码自带的ant打包
openfire源码下载后,整合到eclipse完成;服务器正常,客户端可访问; 我现在想修改openfire的源码,并且将这个项目放到tomcat运行; 由于openfire的源码项目目录与普通项目不同,是个jave项目,且通过ant启动; 我想在openfire根目录配置2个文件夹,里面是测试服务器以及正式服务器的配置信息,根据openfire自己的build.xml的文件,再重新编写2个打包文件; 这样开发测试可根据不同的ant文件执行打包不同的war 普通项目目录如下: ![想要创建放置不同配置的根目录](https://img-ask.csdn.net/upload/201503/04/1425460286_328871.png) ![可以根据需要执行的ant文件](https://img-ask.csdn.net/upload/201503/04/1425460366_102471.png)
ant build打包问题,求指教。
一般uiautomator打包的时候,首先进入到需要生成jar文件的路径,可不可以在任意路径,通过ant build指定一个参数,然后使生成的jar文件到指定路径下,类似于android create uitest-project -n default -t 1 -p xxx路径,类似于这个-p这个参数。在ant中如何实现。求指教。
android ANT 打包错误
最近做ANT混淆的时候发现编译不过去,找了半天没有明白是什么错误 ,请各位大神帮忙解答一下。 -dex: [dex] input: F:\workspace\yunmaApplication\bin\proguard\obfuscated.jar [dex] Converting compiled files and external libraries into F:\workspace\yunmaApplication\bin\classes.dex... [dx] 'C:\Program' 不是内部或外部命令,也不是可运行的程序 [dx] 或批处理文件。 BUILD FAILED F:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:892: The following error occurred while executing this line: F:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:894: The following error occurred while executing this line: F:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:906: The following error occurred while executing this line: F:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:284: null returned: 1
ant+spring注解不能注入
使用ant打包spring注解方式不能注入,spring成功启动,但是自己写的@Component 类就是找不到
Android ant自动集成打包出错
F:\adt-bundle-windows-x86-20140321\sdk\tools\ant\build.xml:653: The following error occurred while executing this line: F:\adt-bundle-windows-x86-20140321\sdk\tools\ant\build.xml:698: null returned: 1
jenkins 集成 ant打包错误
ant 内容 <?xml version="1.0" encoding="UTF-8"?> <project name="gshGS" default="war" basedir="."> <property name="classes" value="build/classes"/> <property name="build" value="build"/> <property name="lib" value="WebRoot/WEB-INF/lib"/> <!-- 删除build路径 <target name="clean"> <delete dir="build"/> </target>--> <!-- 建立build/classes路径,并编译class文件到build/classes路径下 depends="clean"--> <target name="compile"> <mkdir dir="${classes}"/> <javac srcdir="src" destdir="${classes}" encoding="UTF-8"/> </target> <!-- 打war包--> <target name="war" depends="compile"> <war destfile="${build}/gshGS.war" webxml="WebRoot/WEB-INF/web.xml"> <!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹--> <fileset dir="WebRoot" includes="**/*.jsp"/> <!-- 拷贝lib目录下的jar包--> <lib dir="${lib}"/> <!-- 拷贝build/classes下的class文件--> <classes dir="${classes}"/> </war> </target> </project> 单独cmd 运行ant 可以打包 用上jenkins 之后就报一个错. 如: Started by user luis Building in workspace C:\Users\JOJO\.jenkins\workspace\Ant_test Updating http://192.168.1xxxx:8080/svn/gsh/GSH3.0/Software/gshGS at revision '2015-08-05T16:53:21.003 +0800' At revision 9564 no change for http://192.168.1xxxx:8080/svn/gsh/GSH3.0/Software/gshGS since the previous build [Ant_test] $ cmd.exe /C '"D:\apache-ant-1.9.1\bin\ant.bat http://192.168.1.145:8080/svn/gsh/GSH3.0/Software/gshGS && exit %%ERRORLEVEL%%"' Buildfile: C:\Users\JOJO\.jenkins\workspace\Ant_test\build.xml BUILD FAILED Target "http://192.168.1xxx:8080/svn/gsh/GSH3.0/Software/gshGS" does not exist in the project "gshGS". --这里 Total time: 0 seconds Build step 'Invoke Ant' marked build as failure Finished: FAILURE -还有就是我jenkins创建任务的时候就是失败的的.! ![图片说明](https://img-ask.csdn.net/upload/201508/05/1438765308_300320.png)
ant 打包,编译出错问题,求解!!!
-dex: input: E:\domobgit\sos_lockscreen\HuaZhuan\bin\proguard\obfuscated.jar Converting compiled files and external libraries into E:\domobgit\sos_lockscreen\HuaZhuan\bin\classes.dex... [dx] 'C:\Program' �����ڲ����ⲿ���Ҳ���ǿ����еij��� [dx] �������ļ��� E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:881: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:883: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:895: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:290: null returned: 1 at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:551) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:401) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:390) at org.apache.tools.ant.Target.performTasks(Target.java:411) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) at org.apache.tools.ant.Project.executeTarget(Project.java:1368) at cn.domob.tools.AntForJar.runTarget(AntForJar.java:55) at cn.domob.tools.AntForJar.main(AntForJar.java:90) ---------ant批量自动化打包中发生异常---------- 发生异常时间为:2015-03-31:16:41:33 耗费时间为:0天0小时0分52秒 Caused by: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:883: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:895: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:290: null returned: 1 at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:551) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:401) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at com.android.ant.IfElseTask.execute(IfElseTask.java:120) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) ... 12 more Caused by: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:895: The following error occurred while executing this line: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:290: null returned: 1 at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:551) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:401) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at com.android.ant.IfElseTask.execute(IfElseTask.java:124) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at com.android.ant.IfElseTask.execute(IfElseTask.java:124) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) ... 34 more Caused by: E:\eclipse1\adt-bundle-windows-x86_64_20140101\adt-bundle-windows-x86_64_20140101\sdk\tools\ant\build.xml:290: null returned: 1 at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:646) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:498) at com.android.ant.DexExecTask.runDx(DexExecTask.java:271) at com.android.ant.DexExecTask.execute(DexExecTask.java:227) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398) ... 64 more 尝试了很多办法,还是不知道具体怎么解决。
如何让测试人员使用ant对android studio的项目进行自动打包?
1.测试人员自动打包使用 2。不使用as开发工具来打包 3.更新svn的代码,使用ant打包apk 4.可以更改测试环境的配置,需要签名打包 5.求高手指导。。。
ant打包出错 包不存在
![图片说明](https://img-ask.csdn.net/upload/201511/24/1448332543_965000.png)
ant打包一直提示log cannot be resolved
ant打包在javac编译的时候一直提示log cannot be resolved,用的是lombok的jar包,但是打开文件log已经编译上了,造成打包一直不成功,求教大神出现 build.xml <?xml version="1.0" encoding="UTF-8"?> <!-- 定义一个工程,默认任务为warFile。 --> <project name="hera_insure_v2" default="warFile" basedir="."> <!-- 定义属性,打成war包的名称。 --> <property name="warFileName" value="hera_insure_v2.war"/> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/> <property name="ant.dir" value="D:/software/apache-ant-1.10.1/lib"/> <!-- 定义路径,编译java文件时用到的jar包。 --> <path id="project.lib"> <fileset dir="${basedir}/WebContent/WEB-INF/lib"> <include name="**/*.jar"/> </fileset> <fileset dir="${ant.dir}"> <include name="**/*.jar"/> </fileset> </path> <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径。 --> <target name="clean"> <delete dir="${basedir}/build" /> <mkdir dir="${basedir}/build" /> </target> <!--看官网这么写,自己改的--> <!-- <target name="javadoc" depends="clean"> <taskdef classname="lombok.delombok.ant.Tasks$Delombok" classpath="${basedir}/WebContent/WEB-INF/lib/lombok-1.16.6.jar" name="delombok" /> <mkdir dir="build/src-delomboked" /> <delombok verbose="true" encoding="UTF-8" to="${basedir}/build" from="${basedir}/src"> <format value="suppressWarnings:skip" /> </delombok> <javadoc sourcepath="${basedir}/src" defaultexcludes="yes" destdir="${basedir}/build" /> </target> --> <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 --> <target name="compile" depends="clean"> <!--之前普通编译成功的--> <!-- <javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false" source="1.7" target="1.7"> <compilerarg line="-encoding UTF-8"/> <classpath refid="project.lib" /> </javac> --> <!--jdt编译--> <javac classpathref="project.lib" srcdir="${basedir}/src" destdir="${basedir}/build" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" nowarn="false" debug="true" debuglevel="source,lines,vars" source="1.7" target="1.7" encoding="utf-8" fork="true" memoryMaximumSize="512m" includeantruntime="false"/> </target> <!--复制xml文件--> <target name="copy-xml-files" depends="compile"> <copy todir="${basedir}/build/cn/tk/hera/insure/core/"> <fileset dir="${basedir}/src/cn/tk/hera/insure/core/"/> </copy> </target> <!--复制配置文件--> <target name="copy-config-files" depends="copy-xml-files"> <copy todir="${basedir}/build/"> <fileset dir="${basedir}/resource/"/> </copy> </target> <!-- 定义默认任务,将class文件集合成jar包。 --> <target name="warFile" depends="copy-config-files"> <!-- 删除原有war包。 --> <delete dir="${basedir}/${warFileName}" /> <!-- 建立新war包。 --> <war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml"> <!-- 将非jar和非class文件拷贝到war包的对应路径下。 --> <fileset dir="${basedir}/WebContent"> <include name="**/**.*" /> <exclude name="**/*.jar"/> <exclude name="**/*.class"/> </fileset> <!-- 将jar和class文件拷贝到war包的对应路径下。 --> <lib dir="${basedir}/WebContent/WEB-INF/lib" /> <classes dir="${basedir}/build"/> </war> </target> </project> 编译还是log不能解析 log是lombok的,所以lombok不能编译导致的
请教android工程使用ant打包时的文档结构问题
我最终需要用Unigine这个图像仿真引擎来开发一个Android端应用(我也不想用Unigine,是指定的-.-),是在pc上开发,然后Unigine sdk有提供针对android移植的部分,我按照文档来对Unigine提供的工程进行打包生成默认apk(这个apk安装之后也是之后我自己程序的入口)。 但我手头这个版本的Unigine提供的工程文档结构貌似有些问题,它的项目工程下面有三个目录,分别是activity、client和main,目标是需要把整个项目打包生成apk再安装,但根目录下没有AndroidManifest.xml文件,只有各个分目录下有。 我尝试把子目录activity进行打包,生成的包安装后就是com.unigine.activity。应该是把子目录都打包再整合还是统一打包?我猜需要自己对文档结构进行一些调整或者自己编写相关的脚本,但由于我从来没接触过Android开发,有点一头雾水,项目中涉及到这个部分,卡住很久了,向各位请教! 这也是我第一次在CSDN上发帖,有什么不合规范之处还请多多指教,我先把Unigine关于打包生成默认apk的部分文档和文件目录贴在这里,望各位不吝赐教! ![图片说明](https://img-ask.csdn.net/upload/201504/12/1428827577_119337.png) ![图片说明](https://img-ask.csdn.net/upload/201504/12/1428827588_227759.png) ![图片说明](https://img-ask.csdn.net/upload/201504/12/1428827607_288745.png) ![图片说明](https://img-ask.csdn.net/upload/201504/12/1428827570_919557.jpg) ![图片说明](https://img-ask.csdn.net/upload/201504/12/1428827578_126285.png)
ant 打包报错跪求解答
$ ant release Buildfile: E:\AS_VOD\build.xml [taskdef] Could not load definitions from resource anttasks.properties. It could not be found. [taskdef] Could not load definitions from resource emma_ant.properties. It could not be found. -pre-special-task: BUILD FAILED E:\AS_VOD\build.xml:1270: Problem: failed to create task or type if Cause: The name is undefined. Action: Check the spelling. Action: Check that any custom tasks/types have been declared. Action: Check that any <presetdef>/<macrodef> declarations have taken place. 在用ant打包时候出现的错误,求大神帮忙分析一下
ant编译生成hibernate文件时为什么不同的类会不出现不同的生成方式?
有两钟类分别继承不同的抽象对象,在ant配置文件里写法是类似 ``` <fileset dir="scr/java"><include name="class1/entity/newEntity.java"/></fileset> ``` dir是总的java类的根目录,而include代表子目录下的某个具体类,但是发现继承其中一个抽象对象的类在执行ant的时候会出现很多错误提示,分析发现是很多根目录下的泛型写法中的“<”被认为是非法字符,感觉就是ant执行时先把所有的根目录下的类都分析了一遍再生成了include下的具体某个类的hbm文件,当我把dir的路径直接定义成要生成的类的路径时则不会出现那些错误。而另一个继承了不同抽象对象的类则没有这个现象,不理解ant是根据什么去判断是不是要扫描所有dir目录下的类的?
Android ant 脚本打包 关联library project的项目
以下是build.xml Android ant 脚本打包 关联library project的项目,java源文件编译成class文件时 找不到R 打包cardview的library时 总是不能成功,其他library生成的都是包。但是cardview就是不行················································· <?xml version="1.0" encoding="UTF-8"?> <project name="recyclerexample" default="release" basedir="."> <!-- 指定配置文件 --> <property file="project.properties" /> <property file="local.properties" /> <!-- 定义工具目录 --> <property name="sdk.dir" value="${sdk-dir}" /> <property name="android.tools.dir" value="${sdk.dir}/tools" /> <property name="android.platformtools.dir" value="${sdk.dir}/platform-tools" /> <property name="android.platforms.dir" value="${sdk.dir}/platforms/${target}" /> <property name="android.tools.absolute.dir" location="${android.tools.dir}" /> <property name="android.platformtools.absolute.dir" location="${android.platformtools.dir}" /> <property name="android.platforms.absolute.dir" location="${android.platforms.dir}" /> <!-- 定义工具 <property name="verbose" value="false" />--> <condition property="exe" value=".exe" else=""> <os family="windows" /> </condition> <property name="jar.proguard" value="${proguard}" /> <property name="android-jar" value="${android.platforms.absolute.dir}/android.jar" /> <property name="android-dx" value="${android.platformtools.absolute.dir}/dx.bat" /> <property name="android-apkbuilder" value="${android.tools.absolute.dir}/apkbuilder.bat" /> <property name="android-adb" value="${android.platformtools.absolute.dir}/adb${exe}" /> <property name="android.zipalign" value="${android.tools.absolute.dir}/zipalign${exe}" /> <property name="android-aapt" value="${android.platformtools.absolute.dir}/aapt${exe}" /> <property name="android-jarsigner" value="${JAVA_HOME}/bin/jarsigner${exe}" /> <!-- ANT环境变量 --> <property environment="env" /> <!-- 生成R文件的相对目录 --> <property name="outdir-gen" value="${project.home}/gen" /> <!-- 编译后的文件放置目录 --> <property name="outdir-bin" value="${project.home}/bin" /> <!-- 输出目录 --> <property name="outdir" value="${project.outdir}" /> <!-- 清单文件 --> <property name="manifest-xml" value="${project.home}/AndroidManifest.xml" /> <!-- 源文件目录 --> <property name="resource-dir" value="res" /> <property name="asset-dir" value="assets" /> <!-- 资源文件目录 --> <property name="drawable-dir" value="${resource-dir}/drawable" /> <property name="drawable-hdpi-dir" value="${resource-dir}/drawable-hdpi"/> <property name="drawable-ldpi-dir" value="${resource-dir}/drawable-ldpi"/> <property name="drawable-mdpi-dir" value="${resource-dir}/drawable-mdpi"/> <property name="drawable-zh-rCN-dir" value="${resource-dir}/drawable-zh-rCN"/> <!-- java源文件目录 --> <property name="srcdir" value="src" /> <property name="srcdir-ospath" value="${project.home}/${srcdir}" /> <!-- 动态库so文件目录 --> <property name="library" value="${project.home}/libs" /> <!-- 第三方library --> <property name="library-dir1" value="${library1}" /> <property name="library-dir3" value="${library3}" /> <!-- 外部类库所在目录 --> <property name="external-lib" value="lib" /> <property name="external-lib-ospath" value="${project.home}/${external-lib}" /> <!-- 生成class目录 --> <property name="outdir-classes" value="${outdir-bin}/classes" /> <property name="outdir-classes-ospath" value="${outdir-classes}" /> <!-- classes.dex相关变量 --> <property name="dex-file" value="classes.dex" /> <property name="dex-path" value="${outdir-bin}/${dex-file}" /> <property name="dex-ospath" value="${dex-path}" /> <!-- 经过aapt生成的资源包文件 --> <property name="resources-package" value="${outdir-bin}/resources.ap_" /> <property name="resources-package-ospath" value="${resources-package}" /> <!-- 未认证apk包 --> <property name="out-unsigned-package" value="${outdir-bin}/${appName}-unsigned.apk" /> <property name="out-unsigned-package-ospath" value="${out-unsigned-package}" /> <!-- 证书文件 --> <property name="keystore-file" value="${keystore}" /> <!-- 已认证apk包 --> <property name="out-signed-package" value="${outdir-bin}/${appName}.apk" /> <property name="out-signed-package-ospath" value="${out-signed-package}" /> <!-- 已优化apk包 --> <property name="zipalign-signed-package" value="${outdir-bin}/${appName}${version}_release.apk" /> <!-- 输出路径的apk包 --> <property name="outdir-package" value="${project.outdir}/${appName}.apk" /> <!-- 初始化工作 --> <target name="init"> <echo>Initializing all output directories...</echo> <delete dir="${outdir-bin}" /> <delete dir="${outdir-gen}" /> <delete dir="${library-dir1}/bin" /> <delete dir="${library-dir3}/bin" /> <delete dir="${library-dir1}/gen" /> <delete dir="${library-dir3}/gen" /> <mkdir dir="${outdir-gen}" /> <mkdir dir="${outdir-bin}" /> <delete dir="${library-dir1}/bin" /> <delete dir="${library-dir3}/bin" /> <delete dir="${library-dir1}/gen" /> <delete dir="${library-dir3}/gen" /> <mkdir dir="${outdir-classes}" /> <!-- 把缺少的BuildConfig复制进去,暂时不知道如何生成 --> </target> <!-- 根据工程中的资源文件生成R.java文件 ,多个合并为一个--> <target name="GenRJAVA" depends="init"> <echo>Generating R.java / Manifest.java from the resources...</echo> <exec executable="${android-aapt}" failonerror="true"> <arg value="package" /><!-- package表示打包--> <arg value="-m" /><!--m,J,gen表示创建包名的目录和R.java到gen目录下 --> <arg value="-J" /> <arg value="${outdir-gen}" /> <arg value="-M" /><!-- M指定AndroidManifest.xml文件--> <arg value="${manifest-xml}" /> <arg value="-S" /><!-- S指定res目录,生成对应的ID,可多个--> <arg value="${resource-dir}" /> <arg value="-S" /> <arg value="${library-dir1}/res" /> <!-- 注意点:同时需要调用Library的res--> <arg value="-S" /> <arg value="${library-dir3}/res" /> <arg value="--extra-packages" /> <arg value="slidingmenu_library:SMSSDK" /> <arg value="-I" /><!-- I指定android包的位置--> <arg value="${android-jar}" /> <arg value="--auto-add-overlay" /> <!-- 这个重要,覆盖资源,不然报错--> </exec> </target> <!-- 将工程及库应用中的java源文件编译成class文件 --> <target name="compile" depends="GenRJAVA"> <echo>Compiling java source code...</echo> <javac encoding="UTF-8"target="1.6" destdir="${outdir-classes}" bootclasspath="${android-jar}" includeantruntime="on"> <src path="${library-dir1}/src" /><!-- 库应用源码 --> <src path="${outdir-gen}" /><!-- 生成的class文件全部保存到bin/classes目录下 --> <classpath> <fileset dir="${library-dir1}/libs" includes="*.jar" /><!-- 第三方jar包需要引用,用于辅助编译 --> </classpath> </javac> <javac encoding="UTF-8" destdir="${outdir-classes}" bootclasspath="${android-jar41}" includeantruntime="on"> <src path="${library-dir3}/src" /> <src path="${outdir-gen}" /> <classpath> <fileset dir="${library-dir3}/libs" includes="*.jar" /> </classpath> </javac> <javac encoding="UTF-8" destdir="${outdir-classes}" bootclasspath="${android-jar}"> <src path="${project.home}/src" /><!-- 工程源码--> <src path="${outdir-gen}" /><!-- 生成的class文件全部保存到bin/classes目录下 --> <classpath> <fileset dir="${library}" includes="*.jar" /><!-- 第三方jar包需要引用,用于辅助编译 --> </classpath> </javac> </target> <!--执行代码混淆和优化 必须在java文件编译以后--> <target name="optimize" depends="compile"> <echo>optimize classes are put to "${out.absolute.dir}" .</echo> <jar basedir="${outdir-classes}" destfile="${outdir-bin}/temp.jar"/> <taskdef resource="proguard/ant/task.properties" classpath="${jar.proguard}" /> <proguard> -injars ${outdir-bin}/temp.jar -outjars ${outdir-bin}/optimized.jar -libraryjars ${android-jar} -optimizationpasses 5 -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -include proguard-project.txt </proguard> <delete file="${outdir-bin}/temp.jar"/> <delete dir="${outdir-classes}" failonerror="false" /> <mkdir dir="${outdir-classes}"/> <unzip src="${outdir-bin}/optimized.jar" dest="${outdir-classes}"/> <delete file="${outdir-bin}/optimized.jar"/> </target> <!-- 将.class文件转化成.dex文件 --> <target name="dex" depends="compile"> <echo>Converting compiled files and external libraries into ${outdir-dx}test.dex...</echo> <exec executable="${android-dx}" failonerror="true"> <arg value="--dex" /> <arg value="--output=${dex-ospath}" /><!-- 输出 --> <arg path="${outdir-classes}" /><!-- classes文件位置 --> <arg value="${library}" /> <!-- 把libs下所有jar打包 --> </exec> </target> <!-- 将资源文件放进输出目录 --> <target name="package-res-and-assets"> <echo>Packaging resources and assets...</echo> <exec executable="${android-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="-S"/> <arg value="${library-dir1}/res"/> <arg value="-S"/> <arg value="${library-dir3}/res"/> <arg value="-A" /><!-- asset目录也打包 --> <arg value="${asset-dir}" /> <arg value="-I" /> <arg value="${android-jar}" /> <arg value="-F" /><!-- 输出资源压缩包 --> <arg value="${resources-package}" /> <arg value="--auto-add-overlay" /> </exec> </target> <!-- 打包成未签证的apk --> <target name="package" depends="dex,package-res-and-assets"> <echo>Packaging unsigned apk for release...</echo> <exec executable="${android-apkbuilder}" > <arg value="${out-unsigned-package-ospath}" /><!-- 输出 --> <arg value="-u" /><!-- u指创建未签名的包--> <arg value="-z" /><!-- 资源压缩包 --> <arg value="${resources-package-ospath}" /> <arg value="-f" /><!-- dex文件 --> <arg value="${dex-ospath}" /> <arg value="-nf"/><!-- 把libs下的so库打包 --> <arg value="${library}" /> </exec> <echo>It will need to be signed with jarsigner before being published.</echo> </target> <!-- 对apk进行签证 --> <target name="jarsigner" depends="package"> <echo>Packaging signed apk for release...</echo> <exec executable="${android-jarsigner}" failonerror="true"> <arg value="-keystore" /> <arg value="${keystore-file}" /> <arg value="-storepass" /> <arg value="111111" /><!-- 验证密钥完整性的口令,创建时建立的 --> <arg value="-keypass" /> <arg value="111111" /> <!-- 专用密钥的口令,就是key密码 --> <arg value="-signedjar" /> <arg value="${out-signed-package-ospath}" /><!-- 输出 --> <arg value="${out-unsigned-package-ospath}" /><!-- 未签名的apk --> <!-- 不要忘了证书的别名 --> <arg value="recyclersign" /> </exec> <echo message="签名成功" /> </target> <!-- 优化 --> <target name="optimize-app" depends="jarsigner"> <echo> optimizing the application...</echo> <exec executable="${android-zipalign}"> <arg value="-v" /> <arg value="-f" /> <arg value="4" /> <arg value="${out-signed-package-ospath}" /> <arg value="${zipalign-signed-package}" /> </exec> </target> <!-- 发布 --> <target name="release" depends="optimize-app"> <!-- 删除未签证apk --> <delete file="${out-unsigned-package-ospath}" /> <echo>APK is released. path:${out-signed-package-ospath}</echo> <copy file="${out-signed-package-ospath}" tofile="${outdir-package}"></copy> <echo>APK is copy to path:${outdir-package}</echo> </target> </project> ``` ```
ant打包中报错,跪求解答
ant的build.xml中使用的是<java classpath="E:\sdk\tools\lib\sdklib.jar" classname="com.android.sdklib.build.ApkBuilderMain"> 但是运行命令行时报错:[java] THIS TOOL IS DEPRECATED. See --help for more information. 不能进行打包
Android Ant 报资源找不到的错误,怎么解决
![Ant打包报错](https://img-ask.csdn.net/upload/201512/29/1451372350_821246.jpg) 工程依赖了一个v7包,使用ant打包时,生成R.java文件时报上面的错误,大神们怎么解决啊。急急急,在线等。
ant或者maven 将第三方包(cglib)的部分代码,打包进入我自己的项目包下,如何操作?
我在尝试抄录spring源码由构建工具gradle变成maven管理时,遇到问题 1.需要将第三方包(cglib)的部分代码,打包进入我自己的项目包下(pac)该如何操作呢? 我目前的思路是 maven 引入ant ,ant运行一个任务,价格代码构建到我的项目包下,但是ant这样操作的代码,我没有百度到合适的,还希望大神指点一下
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
JAVA 基础练习题
第一题 1.查看以下代码,并写出结果 public class Test01 { public static void main(String[] args) { int i1 = 5; boolean result = (i1++ &gt; 5) &amp;&amp; (++i1 &gt; 4); System.out.println(result); Sy...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 据说,再恩爱的夫妻,一生中都有100次想离婚的念头和50次想掐死对方的冲动。 求职路上亦是如此,打开这篇文章,相信你也有转行的想法。和身边的朋友聊过,入职后的他们,或多或少对现在的职位都有些不满,都有过转行的冲动。 可他们只是想,而我真的这样做了。 下面就介绍下我转行的血泪史。 我为什么要转行 高中复读了一年,考了个双非院校的机械。当时...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
【Linux系统编程】Linux信号列表
00. 目录 文章目录00. 目录01. Linux信号编号02. 信号简介03. 特殊信号04. 附录 01. Linux信号编号 在 Linux 下,每个信号的名字都以字符 SIG 开头,每个信号和一个数字编码相对应,在头文件 signum.h 中,这些信号都被定义为正整数。信号名定义路径:/usr/include/i386-linux-gnu/bits/signum.h 要想查看这些信号和...
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
借助AI力量,谷歌解开生命奥秘?
全文共4484字,预计学习时长8分钟 Paweł Czerwiński发布在 Unsplash上的原图 假如疾病不复存在会发生什么?如果我们能像大自然一样迅速获取能量又会发生什么?要是我们能够在极短时间内循环塑料、废油、或其它的一些物质呢?如果人类能够解开生命的奥秘,那么以上这些想象将在未来成为现实。人工智能企业DeepMind的数据科学分析师日前在此领域有了重大发现。以下为具体内容:...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问