天天看點

快速生成Plugman中的"lib-file"、"source-file"的xml内容

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/inforstack/article/details/78755362

目錄結果:

工具類:

package com.inforstack.plugman;

import java.io.File;

public class Plugin {
	//插件的相對目錄
	private static String basePath = "src/android/demo";
	//插件的絕對目錄
	private static String path = "D:\\work\\cordova\\plugin\\demo\\src\\android\\demo";

	public static void main(String[] args) {
		getFile(path);
	}

	private static void getFile(String path) {
		// 擷取路徑所在的檔案清單
		File dirFile = new File(path);
		// 擷取檔案清單
		File[] array = dirFile.listFiles();
		for (File file : array) {
			if (file.isFile()) {
				toXML(file.getName(), file.getPath());
			} else if (file.isDirectory()) {
				getFile(file.getPath());
			}
		}
	}

	private static void toXML(String fileName, String filePath) {
		if (fileName.indexOf(".java") != -1 || fileName.indexOf(".xml") != -1 || fileName.indexOf(".png") != -1) {
			String newFilePath = filePath.replace(path, "");
			String newDirPath = newFilePath.replace("\\" + fileName, "");
			newDirPath = newDirPath.substring(1, newDirPath.length());
			String xml = String.format("<source-file src=\"%s%s\" target-dir=\"%s\" />", basePath,newFilePath, newDirPath);
			xml = xml.replace("\\", "/");
			System.out.println(xml);
		} else if (fileName.indexOf(".jar") != -1) {
			String newFilePath = filePath.replace(path, "");
			String xml = String.format("<lib-file src=\"%s%s\"/>", basePath,newFilePath);
			xml = xml.replace("\\", "/");
			System.out.println(xml);
		}
	}
}
           

結果:

<lib-file src="src/android/demo/libs/MobCommons-2016.1222.1756.jar"/>
<lib-file src="src/android/demo/libs/MobTools-2016.1222.1756.jar"/>
<source-file src="src/android/demo/res/values/ssdk_instapaper_strings.xml" target-dir="res/values" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/CustomerLogo.java" target-dir="src/cn/sharesdk/onekeyshare" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/ClassicTheme.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/land/EditPageLand.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic/land" />
<source-file src="src/android/demo/src/cn/sharesdk/onekeyshare/themes/classic/port/EditPagePort.java" target-dir="src/cn/sharesdk/onekeyshare/themes/classic/port" />
           

繼續閱讀