package projectmanager import java util Map import java util HashMap i

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package projectmanager;
import java.util.Map;
import java.util.HashMap;
import java.io.File;
import java.io.FileFilter;
public class Manager {
private final IniReader config = new IniReader("C:\\xuj.ini");
Map<String, String> path = new HashMap<>();
public Manager() {
checkConfig();
}
private void checkConfig() {
boolean error = false;
if(!new File(config.get("Path", "JDK_HOME")).exists()) {
System.out.println("Папка с JDK не найдена!");
error = true;
}else
path.put("JDK_HOME", config.get("Path", "JDK_HOME"));
if(!new File(config.get("Path", "SDK_HOME")).exists()) {
System.out.println("Папка с Android SDK не найдена!");
error = true;
}else
path.put("SDK_HOME", config.get("Path", "SDK_HOME"));
if(!new File(config.get("Path", "PROJECTS_HOME")).exists()) {
System.out.println("Папка с проектами не найдена!");
error = true;
}else
path.put("PROJECTS_HOME", config.get("Path", "PROJECTS_HOME"));
if(!new File(config.get("Path", "SDK_HOME") + "/build-tools/" ).exists()) {
System.out.println("Папка build-tools в Android SDK не найдена!");
error = true;
}
if(error) {
System.out.println("\nПроверьте настройки в файле config.ini и запустите программу ещё раз!");
System.exit(0);
}
error = false;
String btv = getLatestBuildToolsVersion(new File(path.get("SDK_HOME") + "/build-tools/"));
if(btv != null)
path.put("BUILD_TOOLS_PATH", path.get("SDK_HOME") + "/build-tools/" + btv);
else {
System.out.println("Не найдено инструментов " + path.get("SDK_HOME") + "/build-tools/");
System.exit(0);
}
String[] checkFiles = {
path.get("BUILD_TOOLS_PATH") + "/aapt.exe",
path.get("BUILD_TOOLS_PATH") + "/dx.bat",
path.get("SDK_HOME") + "/platform-tools/adb.exe",
path.get("JDK_HOME") + "/bin/javac.exe",
path.get("JDK_HOME") + "/bin/keytool.exe",
path.get("JDK_HOME") + "/bin/jarsigner.exe"
};
for(String file : checkFiles)
if(!new File(file).exists()) {
System.out.println("Файл '" + file + "' не найден!");
error = true;
}
if(error)
System.exit(0);
}
private String getLatestBuildToolsVersion(File path) {
File[] dirs = path.listFiles(new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
});
for(int i = dirs.length - 1; i >= 0; i--)
try {
Integer.parseInt(dirs[i].getName().substring(0,1));
return dirs[i].getName();
}catch(NumberFormatException numex) {}
return null;
}
}