自动编译jar

当工程充当其他工程的jar,每次调试后都需要拷贝到相应目录下,而且还得改android.library=true。 麻烦

故写了个用ant编译成jar并拷贝到某目录.

ant:

 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 2 <project basedir="." default="jarfiles" name="jarHelper">
 3     <target name="setLibrary">
 4         <echo level="info">init var</echo>
 5         <echo level="info">Project name is ${basedir}</echo>
 6         <property name="project.is.library" value="true"/>
 7         <property name="renderscript.opt.level" value="O0"/>
 8     </target>
 9     
10     <target name="startJar" depends="setLibrary, -compile" />
11 </project>

python

 1 import os
 2 import io
 3 import shutil
 4 print (os.getcwd())
 5 propertyfile=os.path.join(os.getcwd(),'autojar.properties')
 6 filelist=None
 7 command='ant startJar'
 8 destfile=None
 9 sourcefile=None
10 filename=None
11 # exec command
12 os.system(command)
13 # rename jar file
14 source_jar_path=os.getcwd()+"\\bin\\classes.jar"
15 s = os.getcwd().split('\\')
16 jar_file_name = s[len(s) - 1].lower() + ".jar"
17 jar_path = os.getcwd() + "\\bin\\" + jar_file_name 
18 if (os.path.exists(source_jar_path)):
19     shutil.copy(source_jar_path, jar_path)
20 # move classes.jar to destiny path
21 with open(propertyfile,'r') as file:
22     filelist=file.readlines(3)
23     file.close()
24 for filepath in filelist:
25     if (filepath.find('dest_jar_path')) != -1:
26         destfile=filepath.split('=')[1].rstrip()
27 for item in destfile.split(','):
28     dest_jar_path=item+jar_file_name
29     print ("copy file to ", dest_jar_path, "...")
30     shutil.copy(jar_path,dest_jar_path)
31 print ("finish")

antojar.properties配置文件

dest_jar_path=path1, path2, path3....

还有bat

python autojar.py

posted @ 2013-04-15 17:48  wFeng  阅读(303)  评论(0)    收藏  举报