Search in sources :

Example 1 with ProcessInfoBuilder

use of com.android.ide.common.process.ProcessInfoBuilder in project atlas by alibaba.

the class AtlasAapt method makePackageProcessBuilder.

@Override
protected ProcessInfoBuilder makePackageProcessBuilder(AaptPackageConfig config) throws AaptException {
    ProcessInfoBuilder processInfoBuilder = super.makePackageProcessBuilder(config);
    List<String> args = null;
    try {
        args = (List<String>) FieldUtils.readField(processInfoBuilder, "mArgs", true);
    } catch (IllegalAccessException e) {
        throw new GradleException("getargs exception", e);
    }
    args.remove("--no-version-vectors");
    int indexD = args.indexOf("-D");
    if (indexD > 0) {
        args.remove(indexD);
        args.remove(indexD);
    }
    //加入R.txt文件的生成
    String sybolOutputDir = config.getSymbolOutputDir().getAbsolutePath();
    if (!args.contains("--output-text-symbols") && null != sybolOutputDir) {
        args.add("--output-text-symbols");
        args.add(sybolOutputDir);
    }
    return processInfoBuilder;
}
Also used : GradleException(org.gradle.api.GradleException) ProcessInfoBuilder(com.android.ide.common.process.ProcessInfoBuilder)

Aggregations

ProcessInfoBuilder (com.android.ide.common.process.ProcessInfoBuilder)1 GradleException (org.gradle.api.GradleException)1