All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.java.com.debughelper.tools.r8.SwissArmyKnife Maven / Gradle / Ivy

The newest version!
// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.debughelper.tools.r8;

import com.debughelper.tools.r8.D8;
import com.debughelper.tools.r8.D8Logger;
import com.debughelper.tools.r8.DexSegments;
import com.debughelper.tools.r8.Disassemble;
import com.debughelper.tools.r8.ExtractMarker;
import com.debughelper.tools.r8.GenerateMainDexList;
import com.debughelper.tools.r8.JarDiff;
import com.debughelper.tools.r8.PrintSeeds;
import com.debughelper.tools.r8.PrintUses;
import com.debughelper.tools.r8.bisect.Bisect;
import com.debughelper.tools.r8.compatdx.CompatDx;
import com.debughelper.tools.r8.compatproguard.CompatProguard;
import com.debughelper.tools.r8.dexfilemerger.DexFileMerger;
import com.debughelper.tools.r8.dexsplitter.DexSplitter;
import java.util.Arrays;

/**
 * Common entry point to everything in the R8 project.
 *
 * 

This class is used as the main class in {@code r8.jar}. It checks the first command-line * argument to find the tool to run, or runs {@link R8} if the first argument is not a recognized * tool name. * *

The set of tools recognized by this class is defined by a switch statement in {@link * SwissArmyKnife#main(String[])}. */ public class SwissArmyKnife { public static void main(String[] args) throws Exception { if (args.length == 0) { runDefault(args); return; } switch (args[0]) { case "bisect": Bisect.main(shift(args)); break; case "compatdx": CompatDx.main(shift(args)); break; case "compatproguard": CompatProguard.main(shift(args)); break; case "d8": D8.main(shift(args)); break; case "d8logger": D8Logger.main(shift(args)); break; case "dexfilemerger": DexFileMerger.main(shift(args)); break; case "dexsegments": DexSegments.main(shift(args)); break; case "dexsplitter": DexSplitter.main(shift(args)); break; case "disasm": Disassemble.main(shift(args)); break; case "extractmarker": ExtractMarker.main(shift(args)); break; case "jardiff": JarDiff.main(shift(args)); break; case "jarsizecompare": JarSizeCompare.main(shift(args)); break; case "maindex": GenerateMainDexList.main(shift(args)); break; case "printseeds": PrintSeeds.main(shift(args)); break; case "printuses": PrintUses.main(shift(args)); break; case "r8": R8.main(shift(args)); break; default: runDefault(args); break; } } private static void runDefault(String[] args) { R8.main(args); } private static String[] shift(String[] args) { return Arrays.copyOfRange(args, 1, args.length); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy