浏览代码

Merge branch 'master' of http://10.1.235.20:3000/ipu/android-share

wangxl 8 年之前
父节点
当前提交
4cb114bdd1

二进制
display-client/assets/armeabi-v7a-neon/ffmpeg


二进制
display-client/assets/armeabi-v7a/ffmpeg


+ 8 - 0
display-client/assets/mobile-action.xml

@ -154,7 +154,11 @@
154 154
	<action name="shareFileQQFriend" class="com.ai.ipu.share.func.MobileShareByApp" method="shareFileQQFriend"></action>
155 155
	<action name="shareTextWeChatFriend" class="com.ai.ipu.share.func.MobileShareByApp" method="shareTextWeChatFriend"></action>
156 156
	<action name="shareFileWeChatFriend" class="com.ai.ipu.share.func.MobileShareByApp" method="shareFileWeChatFriend"></action>
157
	<action name="shareTextMore" class="com.ai.ipu.share.func.MobileShareByApp" method="shareTextMore"></action>
158
	<action name="shareFileMore" class="com.ai.ipu.share.func.MobileShareByApp" method="shareFileMore"></action>
157 159

160
	<!-- 邮件 -->
161
	<action name="shareImageBymail" class="com.ai.ipu.mail.func.MailSendByApp" method="shareImageBymail"></action>	
158 162
	<!-- BaiduMap -->
159 163
	<action name="baiduLocation" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="bdLocation" ></action>
160 164
	<action name="baiduMapLocation" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="baiduMapLocation"></action>
@ -163,6 +167,10 @@
163 167
	<action name="addPolygon" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="addPolygon"></action>
164 168
	<action name="poiCitySearch" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="poiCitySearch"></action>
165 169
	<action name="poiNearbySearch" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="poiNearbySearch"></action>
170
	<!-- 视频压缩 -->
171
	<action name="videoCompressor" class="com.ai.ipu.videocompressor.func.MobileVideoCompress" method="videoCompressor"></action>
172
	
173
	
166 174
	<action name="poiBoundsSearch" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="poiBoundsSearch"></action>
167 175
	<action name="lbsLocalSearch" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="lbsLocalSearch"></action>
168 176
	<action name="lbsNearbySearch" class="com.ai.ipu.baidumap.func.MobileBaiduMap" method="lbsNearbySearch"></action>

+ 1 - 14
display-client/assets/mobile-config.xml

@ -23,22 +23,9 @@
23 23
	<!-- 推送平台服务端口 -->
24 24
	<config name="push_port" value="7070"/>
25 25
	
26
	<!-- 非必须,默认2。缓存模式 --><!-- APP_CACHE_MODE -1:LOAD_DEFAULT,0:LOAD_NORMAL,1:LOAD_CACHE_ELSE_NETWORK,2:LOAD_NO_CACHE,3:LOAD_CACHE_ONLY -->
27
	<config name="cache_mode" value="2"/>
28
	<!-- *********非模板引擎时使用的配置********* -->
29
	<!-- 非必须,默认false。页面过渡是否显示loading对话框 -->
30
	<config name="is_loading_dialog" value="false"/>
31
	<!-- 非必须。页面过渡的loading图片 -->
32
	<config name="loading_bg_image" value=""/>
33
	<!-- 非必须,默认false。页面加载超时是否弹出重试对话框 -->
34
	<config name="is_overtime_retry" value="false"/>
35
	<!-- 非必须,默认20000。页面加载的超时时间 -->
36
	<config name="loadurl_timeout" value="20000"/>
37
	<!-- 非必须,默认false。打开调试模式,不再比对资源版本,客户端每次下载所有资源-->
38
	<config name="is_debug" value="false"/>
39 26
	<config name="remote_url" value="http://10.0.2.2:8080/g/html/myindex.html" />
40 27
	
41 28
	<!-- 插件管理平台 -->
42 29
	<config name="plugin_manager_host" value="http://123.57.35.51/plugin-manager"/>
43 30
    <config name="plugin_manager_path" value=""/>
44
</configs>
31
</configs>

二进制
display-client/assets/x86/ffmpeg


+ 19 - 0
display-server-maven/build/build.properties

@ -0,0 +1,19 @@
1
project_name=display
2
project_home=..
3
common_lib=../../wade-mobile-library/common
4

5
build=${project_home}/build
6
config=${project_home}/src/main/resources
7
source=${project_home}/src/main/java
8
classes=${project_home}/src/main/webapp/WEB-INF/classes
9
lib=${project_home}/src/main/webapp/WEB-INF/lib
10
web=${project_home}/src/main/webapp
11
template=${web}/template
12
encrypt=${web}/encrypt
13
version_class=com.ailk.mobile.tool.VersionTool
14
encrypt_class=com.ailk.mobile.tool.FileEncryptTool
15
version_filter=upload|setup|.gitignore|.DS_Store
16
is_debug=false
17

18
encode=UTF-8
19
jdk_version=1.6

+ 121 - 0
display-server-maven/build/build.xml

@ -0,0 +1,121 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:../../wadelib/build/build_wadelib.xml">]>-->
3
<!-- $Id: build.xml,v 1.4 2013/10/22 07:49:08 huangbo Exp $ -->
4
<project name="${project_name}" default="all" basedir=".">
5
    <!-- 指定参数文件 -->
6
	<property file="build.properties"/>
7
	<!-- 设置classpath -->
8
	<path id="class.path">
9
	    <pathelement path="${env.CLASSPATH}"/>
10
	    <pathelement path="${classes}"/>        
11
	    <fileset dir="${common_lib}">
12
	        <include name="*.jar"/>
13
	    </fileset>
14
	</path>	
15
	
16
	<target name="all" depends="clean,copy,compile,encrypt,version,war"/>
17
	<!-- 清楚classes和encrypt目录 -->
18
	<target name="clean" description="cleanup the bin directory!">
19
		<delete includeemptydirs="true" verbose="false" failonerror="false">
20
		    <!-- 删除目录下的文件和子目录,但不包括本身 -->
21
			<fileset dir="${classes}" includes="**/*" defaultexcludes="false"/>
22
			<fileset dir="${encrypt}" includes="**/*" defaultexcludes="false"/>
23
		</delete>
24
	</target>
25
	
26
	<target name="copy">
27
	    <!-- 复制配置目录到classes下 -->
28
		<copy todir="${classes}">
29
			<fileset dir="${config}">
30
				<include name="**/**/*"/>
31
	        </fileset>
32
	    </copy>
33
	    <!-- 复制需要下载的配置文件 -->
34
		<copy todir="${template}" overwrite="true">
35
			<fileset dir="${config}">
36
				<include name="server-page.xml"/>
37
				<include name="server-config.xml"/>
38
				<include name="server-data.xml"/>
39
	        </fileset>
40
	    </copy>
41
	    <!-- 复制需要下载的lua脚本 -->
42
	    <copy todir="${template}" overwrite="true">
43
			<fileset dir="${config}">
44
				<include name="lua/**/*.lua"/>
45
	        </fileset>
46
	    </copy>
47
	    <!-- 复制公共第三方jar包 -->
48
		<copy todir="${lib}" overwrite="true">
49
			<fileset dir="${common_lib}">
50
				<include name="*.jar"/>
51
				<exclude name="*.so" />
52
				<exclude name="*.dll" />
53
				<exclude name="**/**/*.lua" />
54
				<exclude name="*servlet-api2.5.jar"/><!-- 引起tomcat的容器报错 -->
55
			</fileset>
56
		</copy>
57
	</target>
58
	<!-- 编译java生成classes -->
59
	<target name="compile">
60
		<mkdir dir="${classes}"/>
61
		<echo message="begin to compile source without dependency"></echo>
62
		<javac encoding="${encode}" debug="on" fork="yes" source="${jdk_version}" target="${jdk_version}" 
63
			memoryInitialSize="128m" memoryMaximumSize="512m" srcdir="${source}" destdir="${classes}">
64
			<include name="**/*.java"/>
65
			<classpath refid="class.path"/> 
66
		</javac>
67
	</target>
68

69
	<target name="war">
70
		<echo message="begin to ${project_name} war"></echo>
71
		<!-- 清除临时目录web -->
72
		<mkdir dir="${build}/web"/>
73
		<delete includeemptydirs="true">
74
			<fileset dir="${build}/web" includes="**/*" defaultexcludes="false"/>
75
		</delete>
76
		<!-- 搬迁web目录下的所有资源 -->
77
		<copy overwrite="true" todir="${build}/web/">
78
			<fileset dir="${web}">
79
				<exclude name="**/CVS/**/*.*"/>
80
				<exclude name="**/.svn/**/*.*"/>
81
				<exclude name="**/.gitignore"/>
82
				<exclude name="**/*#*.*" />
83
			</fileset>
84
		</copy>
85
		<!-- 将临时目录web下的资源打成war包 -->
86
		<jar jarfile="${project_home}/${project_name}.war">
87
			<zipfileset dir="${build}/web/" prefix="">
88
				<include name="**/**/*"/>
89
			</zipfileset>
90
		</jar>
91
		
92
		<delete includeemptydirs="true">
93
			<fileset dir="${build}/web" defaultexcludes="false"/>
94
		</delete>
95
	</target>
96

97
	<target name="encrypt" description="create encrypt file" depends="compile">
98
	    <echo message="create encrypt file"></echo>
99
		<java classname="${encrypt_class}" fork="true">
100
			<classpath refid="class.path"/>
101
			<arg value="${encrypt_filter}"/>
102
			<arg value="${is_debug}"/>
103
		</java>
104
		<delete includeemptydirs="true">
105
			<fileset dir="${template}">
106
				<include name="server-page.xml"/>
107
				<include name="server-data.xml"/>
108
				<include name="server-config.xml"/>
109
	        </fileset>
110
		</delete>
111
	</target>
112
	
113
	<target name="version" description="create version file" depends="compile">
114
	    <echo message="create version file"></echo>
115
		<java classname="${version_class}" fork="true">
116
			<classpath refid="class.path"/>
117
			<arg value="${version_filter}"/>
118
			<arg value="${is_debug}"/>
119
		</java>
120
	</target>
121
</project>

二进制
display-server-maven/libs/java_memcached-release_2.5.3.jar


+ 63 - 4
display-server-maven/pom.xml

@ -45,9 +45,41 @@
45 45
			<scope>system</scope>
46 46
			<systemPath>${basedir}/libs/wade-database.jar</systemPath>
47 47
		</dependency>
48
48
		<dependency>
49
			<groupId>local</groupId>
50
			<artifactId>wade-cache</artifactId>
51
			<version>1.0</version>
52
			<scope>system</scope>
53
			<systemPath>${basedir}/libs/wade-cache.jar</systemPath>
54
		</dependency>
55
		<dependency>
56
			<groupId>local</groupId>
57
			<artifactId>java_memcached-release</artifactId>
58
			<version>2.5.3</version>
59
			<scope>system</scope>
60
			<systemPath>${basedir}/libs/java_memcached-release_2.5.3.jar</systemPath>
61
		</dependency>
62
		<dependency>
63
			<groupId>local</groupId>
64
			<artifactId>wade-apache</artifactId>
65
			<version>1.0</version>
66
			<scope>system</scope>
67
			<systemPath>${basedir}/libs/wade-apache.jar</systemPath>
68
		</dependency>
49 69
50 70
		<!-- 添加第三方jar包 -->
71
		<!-- https://mvnrepository.com/artifact/jaxen/jaxen -->
72
		<dependency>
73
			<groupId>jaxen</groupId>
74
			<artifactId>jaxen</artifactId>
75
			<version>1.1.1</version>
76
		</dependency>
77
		<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
78
		<dependency>
79
			<groupId>dom4j</groupId>
80
			<artifactId>dom4j</artifactId>
81
			<version>1.6.1</version>
82
		</dependency>
51 83
		<dependency>
52 84
			<groupId>junit</groupId>
53 85
			<artifactId>junit</artifactId>
@ -76,6 +108,19 @@
76 108
			<artifactId>commons-codec</artifactId>
77 109
			<version>1.3</version>
78 110
		</dependency>
111
		<!-- https://mvnrepository.com/artifact/org.beetl/beetl-core -->
112
		<dependency>
113
			<groupId>org.beetl</groupId>
114
			<artifactId>beetl-core</artifactId>
115
			<version>2.2.3</version>
116
		</dependency>
117
		<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity -->
118
		<dependency>
119
			<groupId>org.apache.velocity</groupId>
120
			<artifactId>velocity</artifactId>
121
			<version>1.7</version>
122
		</dependency>
123
79 124
80 125
	</dependencies>
81 126
@ -292,12 +337,26 @@
292 337
				<version>3.0.0</version>
293 338
				<configuration>
294 339
					<!-- <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes> -->
295
					<packagingExcludes>
296
						WEB-INF/lib/servlet-api-2.5.jar
297
					</packagingExcludes>
340
					<packagingExcludes> WEB-INF/lib/servlet-api-2.5.jar </packagingExcludes>
341
					<webResources>
342
						<resource>
343
							<directory>${basedir}/libs</directory>
344
							<includes>
345
								<include>*.jar</include>
346
							</includes>
347
							<targetPath>WEB-INF/lib</targetPath>
348
						</resource>
349
					</webResources>
298 350
				</configuration>
299 351
			</plugin>
300 352
353
			<!-- jetty 热部署 -->
354
			<!-- <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> 
355
				<version>6.1.22</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> 
356
				<useTestClasspath>true</useTestClasspath> <webAppConfig> <contextPath>/display</contextPath> 
357
				</webAppConfig> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
358
				<port>8082</port> </connector> </connectors> </configuration> </plugin> -->
359
301 360
		</plugins>
302 361
	</build>
303 362
</project>

+ 20 - 2
display-server/web/biz/js/plugin/appPlugins.js

@ -1,10 +1,11 @@
1 1
require(["domReady!","wadeMobile","util"], function(doc,WadeMobile) {
2 2

3
	// 未注册插件
3 4
	$("#testUnRegister").tap(function(){
4 5
        WadeMobile.testUnRegister("");
5 6
    });
6 7

7

8
	// 普通插件
8 9
    $("#openSweetAlert").tap(function(){
9 10
    	var param = new Wade.DataMap();
10 11
    	param.put("title","加载服务端插件");
@ -15,9 +16,26 @@ require(["domReady!","wadeMobile","util"], function(doc,WadeMobile) {
15 16
        WadeMobile.sweetAlert(param);
16 17
    });
17 18

18

19
    // 插件,包含Activity
20
    $("#openPathMenu").tap(function(){
21
    	var param = Wade.DataMap();
22
    	param.put("composer_close",0x7f020005);
23
		param.put("composer_music",0x7f020007);
24
		param.put("composer_place",0x7f020008);
25
		param.put("composer_sleep",0x7f020009);
26
		param.put("composer_thought",0x7f02000a);
27
		param.put("composer_with",0x7f02000b);
28
	 	WadeMobile.openPathMenu(param);
29
    });
30
    
31
    
32
    
19 33
    $("#openBaiduPlugin").tap(function(){
20 34
    	WadeMobile.bd_connect('我是','Xuelong');
21 35
    });
22 36

37
    $("#openActivity").tap(function(){
38
        WadeMobile.openActivityFromPlugin();
39
    });
40
    
23 41
});

+ 8 - 8
display-server/web/biz/js/plugin/ui/ui-customAlertDialog.js

@ -8,7 +8,7 @@
8 8
    		param.put("countDownInterval",800);
9 9
    		param.put("hasNext",true);
10 10
    		param.put("nextEvent","nextEvent");
11
    		WadeMobile.loading(param);
11
    		WadeMobile.sweetLoading(param);
12 12
    	});
13 13
    	
14 14
    	$("#basic_test").tap(function(){
@ -17,7 +17,7 @@
17 17
    		param.put("alertType",0);
18 18
    		param.put("imageID",0);
19 19
    		param.put("cancelable",true);
20
    		WadeMobile.alert(param);
20
    		WadeMobile.sweetAlert(param);
21 21
    	});
22 22
    	$("#under_text_test").tap(function(){
23 23
    		param.put("title","一行文字标题");
@ -25,7 +25,7 @@
25 25
    		param.put("alertType",0);
26 26
    		param.put("imageID",0);
27 27
    		param.put("cancelable",true);
28
    		WadeMobile.alert(param);
28
    		WadeMobile.sweetAlert(param);
29 29
    	});
30 30
    	$("#error_text_test").tap(function(){
31 31
    		param.put("title","错误!");
@ -33,7 +33,7 @@
33 33
    		param.put("alertType",1);
34 34
    		param.put("cancelable",true);
35 35
    		param.put("imageID",0);
36
    		WadeMobile.alert(param);
36
    		WadeMobile.sweetAlert(param);
37 37
    	});
38 38
    	$("#success_text_test").tap(function(){
39 39
    		param.put("title","成功!");
@ -41,7 +41,7 @@
41 41
    		param.put("alertType",2);
42 42
    		param.put("imageID",0);
43 43
    		param.put("cancelable",true);
44
    		WadeMobile.alert(param);
44
    		WadeMobile.sweetAlert(param);
45 45
    	});
46 46
    		
47 47
    	$("#warning_confirm_test").tap(function(){
@ -54,7 +54,7 @@
54 54
    		param.put("confirmEvent","confirmEvent");
55 55
    		param.put("cancelEvent",null);
56 56
    		param.put("isCancel",false);
57
    		WadeMobile.confirm(param);
57
    		WadeMobile.sweetConfirm(param);
58 58
    	});
59 59
    	$("#warning_cancel_test").tap(function(){
60 60
    		param.put("title","确认?");
@ -65,7 +65,7 @@
65 65
    		param.put("confirmEvent","confirmEvent");
66 66
    		param.put("cancelEvent","cancelEvent");
67 67
    		param.put("isCancel",true);
68
    		WadeMobile.confirm(param);
68
    		WadeMobile.sweetConfirm(param);
69 69
    	});
70 70
    	$("#custom_img_test").tap(function(){
71 71
    		param.put("title","图片");
@ -73,7 +73,7 @@
73 73
    		param.put("cancelable",true);
74 74
    		param.put("alertType",4);
75 75
    		param.put("imageID",0x7f020002);
76
    		WadeMobile.alert(param);
76
    		WadeMobile.sweetAlert(param);
77 77
    	});
78 78
    	
79 79
    });

+ 3 - 3
display-server/web/res/js/mobile/wade-mobile.js

@ -104,7 +104,7 @@ define(["jcl","base64","res/js/mobile/expand-mobile.js","biz/js/common/biz-mobil
104 104
					param.put("alertType",1);
105 105
					param.put("cancelable",true);
106 106
					param.put("imageID",0);
107
					WadeMobile.alert(param);
107
					WadeMobile.sweetAlert(param);
108 108
	        	},confirmEvent:function(){
109 109
					var param = Wade.DataMap();
110 110
	        		param.put("title","确认成功!");
@ -112,7 +112,7 @@ define(["jcl","base64","res/js/mobile/expand-mobile.js","biz/js/common/biz-mobil
112 112
					param.put("alertType",2);
113 113
					param.put("cancelable",true);
114 114
					param.put("imageID",0);
115
					WadeMobile.alert(param);
115
					WadeMobile.sweetAlert(param);
116 116
				},nextEvent:function(){
117 117
					var param = Wade.DataMap();
118 118
	        		param.put("title","加载成功!");
@ -120,7 +120,7 @@ define(["jcl","base64","res/js/mobile/expand-mobile.js","biz/js/common/biz-mobil
120 120
					param.put("alertType",2);
121 121
					param.put("cancelable",true);
122 122
					param.put("imageID",0);
123
					WadeMobile.alert(param);
123
					WadeMobile.sweetAlert(param);
124 124
				}
125 125
			};
126 126
		})();

+ 22 - 0
display-server/web/template/webapp/AppPlugins.html

@ -41,6 +41,14 @@
41 41
					</div>
42 42
				</div>
43 43
			</li>
44
			<li ontap=";" id="openPathMenu">
45
				<div class="content">
46
					<div class="ico">
47
						<div class="e_ico-position"></div>
48
						<div class="text">快捷菜单</div>
49
					</div>
50
				</div>
51
			</li>
44 52
			<li ontap=";" id="openBaiduPlugin">
45 53
				<div class="content">
46 54
					<div class="ico">
@ -51,6 +59,20 @@
51 59
			</li>
52 60
		</ul>
53 61
	</div>
62
	
63
	<!-- <div class="c_title">打开插件</div>
64
	<div class="c_list">
65
		<ul>
66
			<li ontap=";" id="openActivity">
67
				<div class="content">
68
					<div class="ico">
69
						<div class="e_ico-conect"></div>
70
						<div class="text">打开插件</div>
71
					</div>
72
				</div>
73
			</li>
74
		</ul>
75
	</div> -->
54 76
</div>
55 77
56 78
</body>

+ 9 - 9
ipu-pathmenu/.classpath

@ -1,9 +1,9 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<classpath>
3
	<classpathentry kind="src" path="src"/>
4
	<classpathentry kind="src" path="gen"/>
5
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
6
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
7
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
8
	<classpathentry kind="output" path="bin/classes"/>
9
</classpath>
1
<?xml version="1.0" encoding="UTF-8"?>
2
<classpath>
3
	<classpathentry kind="src" path="src"/>
4
	<classpathentry kind="src" path="gen"/>
5
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
6
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
7
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
8
	<classpathentry kind="output" path="bin/classes"/>
9
</classpath>

二进制
ipu-pathmenu/libs/android-support-v4.jar


二进制
ipu-pathmenu/libs/wade-mobile.jar


+ 3 - 1
ipu-pathmenu/project.properties

@ -11,5 +11,7 @@
11 11
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 12
13 13
# Project target.
14
target=android-21
14
target=android-15
15 15
android.library=true
16
android.library.reference.1=..\\wade-mobile-lib
17
android.library.reference.2=../wade-mobile-common

+ 1 - 1
wade-mobile-common/.classpath

@ -2,7 +2,7 @@
2 2
<classpath>
3 3
	<classpathentry kind="src" path="gen"/>
4 4
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
5
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
6 5
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
6
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
7 7
	<classpathentry kind="output" path="bin/classes"/>
8 8
</classpath>

二进制
wade-mobile-common/libs/ipu-basic-1.0.jar


二进制
wade-mobile-common/libs/ipu-mobile-1.0.jar


二进制
wade-mobile-common/libs/wade-mobile.jar


+ 1 - 1
wade-mobile-common/project.properties

@ -11,5 +11,5 @@
11 11
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 12
13 13
# Project target.
14
target=android-21
14
target=android-15
15 15
android.library=true