当前位置: 编程技术>移动开发
本页文章导读:
▪build_ivy构建资料 build_ivy构建文件
<?xml version="1.0"?><project name="hello-ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant"> <property name="ant.dir" value="E:/Program Files/apache-ant-1.8.3" /> <property name="build.debug" v.........
▪ 怎么进行单元测试 如何进行单元测试
androidmanifest中的配置:第一步: package="com.comtech.log"....<application ... 加入位置要注意 <uses-library android:name="android.test.runner"/> <uses-sdk ....加入位置要注.........
▪ 代码获取应用程序的姓名,包名,版本号和图标 代码获取应用程序的名称,包名,版本号和图标
class PInfo { private String appname = \"\"; private String pname = \"\"; private String versionName = \"\"; p.........
[1]build_ivy构建资料
来源: 互联网 发布时间: 2014-02-18
build_ivy构建文件
<?xml version="1.0"?>
<project name="hello-ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ant.dir" value="E:/Program Files/apache-ant-1.8.3" />
<property name="build.debug" value="on" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="dist.dir" value="dist" />
<property name="publish.version" value="1.0" />
<property name="classes.dir" value="${build.dir}/classes" />
<!-- 设置工作目录 ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.default.ivy.user.dir
2. 如果没有找到,查找变量ivy.home
3. 如果还没有找到,查找变量user.home Ivy 使用cache目录来存放缓存文件,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.cache.dir
2. 如果没有找到,使用ivy.default.ivy.user.dir/cache 项目通用: 设置环境变量env.ivy.default.ivy.user.dir=G:\soft\ivy\userdir
build.xml中这样引用: <property environment="env"/>
<property name="ivy.default.ivy.user.dir" value="${env.ivy.default.ivy.user.dir}" />
-->
<!--设置ivy工作路径 -->
<property name="ivy.default.ivy.user.dir" value="${ant.dir}/repository" />
<path id="lib.path">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path">
<path refid="lib.path" />
<path location="${classes.dir}" />
</path>
<!-- 初始化ivy配置文件 -->
<ivy:settings file="ivysettings.xml" />
<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build.dir}" />
<fileset dir="${dist.dir}" />
</delete>
</target>
<target name="clean-cache">
<ivy:cleancache />
</target>
<target name="init">
<echo>initing...</echo>
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<!-- 通过ivy下载依赖 ,默认ivy文件名为ivy.xml -->
<target name="resolve" depends="init">
<ivy:resolve file="ivy.xml" />
<!-- 先解析ivy,从maven仓库下载依赖到缓存(默认在你的user home下的.ivy2/cache 目录),最后复制到项目默认的lib目录 -->
<ivy:retrieve pattern="${lib.dir}/[artifact](-[revision]).[ext]" />
</target>
<!--生成所有依赖的详细报告 ,默认build目录中的生成文件 -->
<target name="report" depends="resolve">
<ivy:report todir="${build.dir}" />
</target>
<target name="compile" depends="resolve">
<javac encoding="utf-8" debug="${build.debug}" srcdir="${src.dir}"
classpathref="/blog_article/lib.path" destdir="${classes.dir}" />
<native2ascii src="/blog_article/${src.dir}" dest="${classes.dir}"
includes="*.properties" encoding="UTF-8" />
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.properties" />
</fileset>
</copy>
</target>
<target name="jar" depends="compile">
<tstamp>
<format property="jar.time" pattern="MM/dd/yyyy hh:mm aa" locale="en" />
</tstamp>
<buildnumber />
<jar destfile="${dist.dir}/${ant.project.name}.jar">
<manifest>
<attribute name="Build-Version" value="${publish.version}" />
<attribute name="Build-On" value="${jar.time}" />
<attribute name="Build-By" value="${user.name}" />
<attribute name="Build-Number" value="${build.number}" />
</manifest>
<!-- Jar should not include xml and property files -->
<fileset dir="${classes.dir}">
<exclude name="**/*.xml" />
<exclude name="**/*.properties" />
</fileset>
</jar>
</target>
<!--
<target name="run" depends="compile">
<property name="msg" value="hello ivy !" />
<java classpathref="/blog_article/run.path" classname="example.Hello">
<arg value="-message" />
<arg value="${msg}" />
</java>
</target>
-->
<!-- 和nexus集成
1. ivysettings.xml 将原有的 <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
修改为 <include url="./ivysettings-public.xml"/>
2. 在ivysettings.xml相同目录下放置ivysettings-public.xml文件
实际从ivy.jar包中copy出对应文件,然后修改
<ibiblio name="public" m2compatible="true" root="http://192.168.0.30:8081/nexus/content/groups/public/"/>
注意这里的name="public"不能改,否则会报错。
-->
</project>
<?xml version="1.0"?>
<project name="hello-ivy" default="resolve" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ant.dir" value="E:/Program Files/apache-ant-1.8.3" />
<property name="build.debug" value="on" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="lib" />
<property name="build.dir" value="build" />
<property name="dist.dir" value="dist" />
<property name="publish.version" value="1.0" />
<property name="classes.dir" value="${build.dir}/classes" />
<!-- 设置工作目录 ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.default.ivy.user.dir
2. 如果没有找到,查找变量ivy.home
3. 如果还没有找到,查找变量user.home Ivy 使用cache目录来存放缓存文件,ivy通过以下方式确认该目录的具体路径:
1. 查找变量ivy.cache.dir
2. 如果没有找到,使用ivy.default.ivy.user.dir/cache 项目通用: 设置环境变量env.ivy.default.ivy.user.dir=G:\soft\ivy\userdir
build.xml中这样引用: <property environment="env"/>
<property name="ivy.default.ivy.user.dir" value="${env.ivy.default.ivy.user.dir}" />
-->
<!--设置ivy工作路径 -->
<property name="ivy.default.ivy.user.dir" value="${ant.dir}/repository" />
<path id="lib.path">
<fileset dir="${lib.dir}" />
</path>
<path id="run.path">
<path refid="lib.path" />
<path location="${classes.dir}" />
</path>
<!-- 初始化ivy配置文件 -->
<ivy:settings file="ivysettings.xml" />
<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build.dir}" />
<fileset dir="${dist.dir}" />
</delete>
</target>
<target name="clean-cache">
<ivy:cleancache />
</target>
<target name="init">
<echo>initing...</echo>
<mkdir dir="${build.dir}" />
<mkdir dir="${classes.dir}" />
<mkdir dir="${dist.dir}" />
</target>
<!-- 通过ivy下载依赖 ,默认ivy文件名为ivy.xml -->
<target name="resolve" depends="init">
<ivy:resolve file="ivy.xml" />
<!-- 先解析ivy,从maven仓库下载依赖到缓存(默认在你的user home下的.ivy2/cache 目录),最后复制到项目默认的lib目录 -->
<ivy:retrieve pattern="${lib.dir}/[artifact](-[revision]).[ext]" />
</target>
<!--生成所有依赖的详细报告 ,默认build目录中的生成文件 -->
<target name="report" depends="resolve">
<ivy:report todir="${build.dir}" />
</target>
<target name="compile" depends="resolve">
<javac encoding="utf-8" debug="${build.debug}" srcdir="${src.dir}"
classpathref="/blog_article/lib.path" destdir="${classes.dir}" />
<native2ascii src="/blog_article/${src.dir}" dest="${classes.dir}"
includes="*.properties" encoding="UTF-8" />
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.properties" />
</fileset>
</copy>
</target>
<target name="jar" depends="compile">
<tstamp>
<format property="jar.time" pattern="MM/dd/yyyy hh:mm aa" locale="en" />
</tstamp>
<buildnumber />
<jar destfile="${dist.dir}/${ant.project.name}.jar">
<manifest>
<attribute name="Build-Version" value="${publish.version}" />
<attribute name="Build-On" value="${jar.time}" />
<attribute name="Build-By" value="${user.name}" />
<attribute name="Build-Number" value="${build.number}" />
</manifest>
<!-- Jar should not include xml and property files -->
<fileset dir="${classes.dir}">
<exclude name="**/*.xml" />
<exclude name="**/*.properties" />
</fileset>
</jar>
</target>
<!--
<target name="run" depends="compile">
<property name="msg" value="hello ivy !" />
<java classpathref="/blog_article/run.path" classname="example.Hello">
<arg value="-message" />
<arg value="${msg}" />
</java>
</target>
-->
<!-- 和nexus集成
1. ivysettings.xml 将原有的 <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
修改为 <include url="./ivysettings-public.xml"/>
2. 在ivysettings.xml相同目录下放置ivysettings-public.xml文件
实际从ivy.jar包中copy出对应文件,然后修改
<ibiblio name="public" m2compatible="true" root="http://192.168.0.30:8081/nexus/content/groups/public/"/>
注意这里的name="public"不能改,否则会报错。
-->
</project>
[2] 怎么进行单元测试
来源: 互联网 发布时间: 2014-02-18
如何进行单元测试
androidmanifest中的配置:
第一步:
package="com.comtech.log"
..
..
<application ...
加入位置要注意 <uses-library android:name="android.test.runner"/>
<uses-sdk ....
加入位置要注意 <instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.comtech.log" android:label="Test for App"
上下两个包名要一致。
第二步:(单元测试3)
package com.comtech.log;
import ....
隐形的: JunitRun-->LogTest(实例化)-->testSave();
JunitRun{
run(){
LogTest l=new LogTest();
...
...
}
}
编写单元测试:
public class 类名 extends AndroidTestCase{
private static final String TAG="LogTest"
下面的方法你可以自己定义的,测试的时候右击方法名!---
public void testSave() throws Exception{
int i=1+1;
Log.i(TAG,"result"+1);
}
}
androidmanifest中的配置:
第一步:
package="com.comtech.log"
..
..
<application ...
加入位置要注意 <uses-library android:name="android.test.runner"/>
<uses-sdk ....
加入位置要注意 <instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.comtech.log" android:label="Test for App"
上下两个包名要一致。
第二步:(单元测试3)
package com.comtech.log;
import ....
隐形的: JunitRun-->LogTest(实例化)-->testSave();
JunitRun{
run(){
LogTest l=new LogTest();
...
...
}
}
编写单元测试:
public class 类名 extends AndroidTestCase{
private static final String TAG="LogTest"
下面的方法你可以自己定义的,测试的时候右击方法名!---
public void testSave() throws Exception{
int i=1+1;
Log.i(TAG,"result"+1);
}
}
[3] 代码获取应用程序的姓名,包名,版本号和图标
来源: 互联网 发布时间: 2014-02-18
代码获取应用程序的名称,包名,版本号和图标
class PInfo {
private String appname = \"\";
private String pname = \"\";
private String versionName = \"\";
private int versionCode = 0;
private Drawable icon;
private void prettyPrint() {
log(appname + \"\\t\" + pname + \"\\t\" + versionName + \"\\t\" + versionCode + \"\\t\");
}
}
private void listPackages() {
ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */
final int max = apps.size();
for (int i=0; i<max; i++) {
apps.get(i).prettyPrint();
}
}
private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
if ((!getSysPackages) && (p.versionName == null)) {
continue ;
}
PInfo newInfo = new PInfo();
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
res.add(newInfo);
}
return res;
}
class PInfo {
private String appname = \"\";
private String pname = \"\";
private String versionName = \"\";
private int versionCode = 0;
private Drawable icon;
private void prettyPrint() {
log(appname + \"\\t\" + pname + \"\\t\" + versionName + \"\\t\" + versionCode + \"\\t\");
}
}
private void listPackages() {
ArrayList<PInfo> apps = getInstalledApps(false); /* false = no system packages */
final int max = apps.size();
for (int i=0; i<max; i++) {
apps.get(i).prettyPrint();
}
}
private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
if ((!getSysPackages) && (p.versionName == null)) {
continue ;
}
PInfo newInfo = new PInfo();
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
res.add(newInfo);
}
return res;
}
最新技术文章: