private void run(String[] args) throws Exception {
if (args.length < 1 || args.length > 3) {
System.out.println("Usage: command [-k] <main_dex_list> [<proguard_map>]");
System.exit(0);
}
Iterator<String> arguments = Iterators.forArray(args);
Function<String, String> outputGenerator;
String arg = arguments.next();
if (arg.equals("-k")) {
outputGenerator = this::toKeepRule;
arg = arguments.next();
} else {
outputGenerator = this::toClassFilePath;
}
Path mainDexList = Paths.get(arg);
final ClassNameMapper mapper =
arguments.hasNext() ? ProguardMapReader.mapperFromFile(Paths.get(arguments.next())) : null;
FileUtils.readTextFile(mainDexList)
.stream()
.map(this::stripDotClass)
.map(name -> name.replace('/', '.'))
.map(name -> deobfuscateClassName(name, mapper))
.map(outputGenerator)
.sorted()
.collect(Collectors.toList())
.forEach(System.out::println);
}
ReadMainDexList.java 文件源码
java
阅读 38
收藏 0
点赞 0
评论 0
项目:r8
作者:
评论列表
文章目录