mirror of
https://github.com/revanced/Apktool.git
synced 2024-11-14 00:19:25 +01:00
Merge branch 'master' into master
This commit is contained in:
commit
34b4cfd515
@ -19,7 +19,6 @@ before_install:
|
||||
- git config --global user.name "Travis CI Bot"
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get install -qq libstdc++6:i386 lib32z1 expect
|
||||
- git submodule update --init --recursive
|
||||
script: ./gradlew build shadowJar proguard
|
||||
branches:
|
||||
only:
|
||||
|
16
INTERNAL.md
16
INTERNAL.md
@ -2,7 +2,21 @@
|
||||
|
||||
The steps taken for slicing an official release of Apktool.
|
||||
|
||||
### Taging the release.
|
||||
### Ensuring proper license headers
|
||||
|
||||
Before we build a release, its a good practice to ensure all headers in source files contain
|
||||
proper licenses.
|
||||
|
||||
./gradlew licenseMain && ./gradlew licenseTest
|
||||
|
||||
If any license violations were found you can automatically fix them with either
|
||||
|
||||
./gradlew licenseFormatMain
|
||||
./gradlew licenseFormatTest
|
||||
|
||||
Like described, one formats the `src/main` directory, while the other formats the `src/test` directory.
|
||||
|
||||
### Tagging the release.
|
||||
|
||||
Inside `build.gradle` there are two lines.
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.apktool;
|
||||
|
||||
import brut.androlib.*;
|
||||
@ -74,7 +74,6 @@ public class Main {
|
||||
setAdvanceMode(true);
|
||||
}
|
||||
|
||||
// @todo use new ability of apache-commons-cli to check hasOption for non-prefixed items
|
||||
boolean cmdFound = false;
|
||||
for (String opt : commandLine.getArgs()) {
|
||||
if (opt.equalsIgnoreCase("d") || opt.equalsIgnoreCase("decode")) {
|
||||
@ -96,9 +95,10 @@ public class Main {
|
||||
}
|
||||
|
||||
// if no commands ran, run the version / usage check.
|
||||
if (cmdFound == false) {
|
||||
if (!cmdFound) {
|
||||
if (commandLine.hasOption("version")) {
|
||||
_version();
|
||||
System.exit(0);
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
@ -109,7 +109,7 @@ public class Main {
|
||||
ApkDecoder decoder = new ApkDecoder();
|
||||
|
||||
int paraCount = cli.getArgList().size();
|
||||
String apkName = (String) cli.getArgList().get(paraCount - 1);
|
||||
String apkName = cli.getArgList().get(paraCount - 1);
|
||||
File outDir;
|
||||
|
||||
// check for options
|
||||
@ -192,13 +192,12 @@ public class Main {
|
||||
decoder.close();
|
||||
} catch (IOException ignored) {}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
private static void cmdBuild(CommandLine cli) throws BrutException {
|
||||
String[] args = cli.getArgs();
|
||||
String appDirName = args.length < 2 ? "." : args[1];
|
||||
File outFile = null;
|
||||
File outFile;
|
||||
ApkOptions apkOptions = new ApkOptions();
|
||||
|
||||
// check for build options
|
||||
@ -233,7 +232,7 @@ public class Main {
|
||||
|
||||
private static void cmdInstallFramework(CommandLine cli) throws AndrolibException {
|
||||
int paraCount = cli.getArgList().size();
|
||||
String apkName = (String) cli.getArgList().get(paraCount - 1);
|
||||
String apkName = cli.getArgList().get(paraCount - 1);
|
||||
|
||||
ApkOptions apkOptions = new ApkOptions();
|
||||
if (cli.hasOption("p") || cli.hasOption("frame-path")) {
|
||||
@ -247,7 +246,7 @@ public class Main {
|
||||
|
||||
private static void cmdPublicizeResources(CommandLine cli) throws AndrolibException {
|
||||
int paraCount = cli.getArgList().size();
|
||||
String apkName = (String) cli.getArgList().get(paraCount - 1);
|
||||
String apkName = cli.getArgList().get(paraCount - 1);
|
||||
|
||||
new Androlib().publicizeResources(new File(apkName));
|
||||
}
|
||||
@ -448,8 +447,6 @@ public class Main {
|
||||
}
|
||||
|
||||
private static void usage() {
|
||||
|
||||
// load basicOptions
|
||||
_Options();
|
||||
HelpFormatter formatter = new HelpFormatter();
|
||||
formatter.setWidth(120);
|
||||
@ -552,8 +549,8 @@ public class Main {
|
||||
Main.advanceMode = advanceMode;
|
||||
}
|
||||
|
||||
private static enum Verbosity {
|
||||
NORMAL, VERBOSE, QUIET;
|
||||
private enum Verbosity {
|
||||
NORMAL, VERBOSE, QUIET
|
||||
}
|
||||
|
||||
private static boolean advanceMode = false;
|
||||
|
@ -1,19 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2006 The Android Open Source Project
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.content.res;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
@ -1,17 +1,18 @@
|
||||
/*
|
||||
* Copyright 2008 Android4ME
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package android.util;
|
||||
|
||||
|
@ -1,19 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2007 The Android Open Source Project
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.util;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib;
|
||||
|
||||
import brut.androlib.meta.MetaInfo;
|
||||
@ -151,6 +151,9 @@ public class Androlib {
|
||||
if (in.containsDir("libs")) {
|
||||
in.copyToDir(outDir, "libs");
|
||||
}
|
||||
if (in.containsDir("kotlin")) {
|
||||
in.copyToDir(outDir, "kotlin");
|
||||
}
|
||||
} catch (DirectoryException ex) {
|
||||
throw new AndrolibException(ex);
|
||||
}
|
||||
@ -614,7 +617,7 @@ public class Androlib {
|
||||
) {
|
||||
copyExistingFiles(inputFile, actualOutput);
|
||||
copyUnknownFiles(appDir, actualOutput, files);
|
||||
} catch (IOException ex) {
|
||||
} catch (IOException | BrutException ex) {
|
||||
throw new AndrolibException(ex);
|
||||
}
|
||||
|
||||
@ -643,12 +646,12 @@ public class Androlib {
|
||||
}
|
||||
|
||||
private void copyUnknownFiles(File appDir, ZipOutputStream outputFile, Map<String, String> files)
|
||||
throws IOException {
|
||||
throws BrutException, IOException {
|
||||
File unknownFileDir = new File(appDir, UNK_DIRNAME);
|
||||
|
||||
// loop through unknown files
|
||||
for (Map.Entry<String,String> unknownFileInfo : files.entrySet()) {
|
||||
File inputFile = new File(unknownFileDir, unknownFileInfo.getKey());
|
||||
File inputFile = new File(unknownFileDir, BrutIO.sanitizeUnknownFile(unknownFileDir, unknownFileInfo.getKey()));
|
||||
if (inputFile.isDirectory()) {
|
||||
continue;
|
||||
}
|
||||
@ -776,7 +779,7 @@ public class Androlib {
|
||||
"AndroidManifest.xml" };
|
||||
private final static String[] APK_STANDARD_ALL_FILENAMES = new String[] {
|
||||
"classes.dex", "AndroidManifest.xml", "resources.arsc", "res", "r", "R",
|
||||
"lib", "libs", "assets", "META-INF" };
|
||||
"lib", "libs", "assets", "META-INF", "kotlin" };
|
||||
// Taken from AOSP's frameworks/base/tools/aapt/Package.cpp
|
||||
private final static Pattern NO_COMPRESS_PATTERN = Pattern.compile("\\.(" +
|
||||
"jpg|jpeg|png|gif|wav|mp2|mp3|ogg|aac|mpg|mpeg|mid|midi|smf|jet|rtttl|imy|xmf|mp4|" +
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib;
|
||||
|
||||
import brut.common.BrutException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib;
|
||||
|
||||
import brut.androlib.err.InFileNotFoundException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.err;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.err;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.err;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.err;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.err;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,18 +1,18 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package brut.androlib.meta;
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.mod;
|
||||
|
||||
import java.io.*;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
@ -783,18 +783,18 @@ final public class AndrolibResources {
|
||||
try {
|
||||
if (OSDetection.isMacOSX()) {
|
||||
if (OSDetection.is64Bit()) {
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/64/aapt");
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/64/aapt", AndrolibResources.class);
|
||||
} else {
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/32/aapt");
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/macosx/32/aapt", AndrolibResources.class);
|
||||
}
|
||||
} else if (OSDetection.isUnix()) {
|
||||
if (OSDetection.is64Bit()) {
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/64/aapt");
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/64/aapt", AndrolibResources.class);
|
||||
} else {
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/32/aapt");
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/linux/32/aapt", AndrolibResources.class);
|
||||
}
|
||||
} else if (OSDetection.isWindows()) {
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/windows/aapt.exe");
|
||||
aaptBinary = Jar.getResourceAsFile("/prebuilt/aapt/windows/aapt.exe", AndrolibResources.class);
|
||||
} else {
|
||||
LOGGER.warning("Unknown Operating System: " + OSDetection.returnOS());
|
||||
return null;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
@ -36,10 +36,11 @@ public class ResResSpec {
|
||||
String cleanName;
|
||||
|
||||
ResResSpec resResSpec = type.getResSpecUnsafe(name);
|
||||
if (resResSpec != null)
|
||||
if (resResSpec != null) {
|
||||
cleanName = name + "_APKTOOL_DUPLICATENAME_" + id.toString();
|
||||
else
|
||||
} else {
|
||||
cleanName = (name.isEmpty() ? ("APKTOOL_DUMMYVAL_" + id.toString()) : name);
|
||||
}
|
||||
|
||||
this.mName = cleanName;
|
||||
this.mPackage = pkg;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data;
|
||||
|
||||
import java.util.LinkedHashSet;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import android.util.TypedValue;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2016 Pierre-Hugues Husson <phh@phh.me>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import android.util.TypedValue;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import android.util.TypedValue;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import android.util.TypedValue;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import android.util.TypedValue;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import brut.androlib.res.xml.ResXmlEncoders;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.decoder;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.util;
|
||||
|
||||
import java.io.*;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.util;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.xml;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.xml;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.res.xml;
|
||||
|
||||
import brut.util.Duo;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2015 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -20,6 +20,7 @@ import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.xml.XMLConstants;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
@ -106,13 +107,7 @@ public final class ResXmlPatcher {
|
||||
Node provider = attrs.getNamedItem("android:authorities");
|
||||
|
||||
if (provider != null) {
|
||||
String reference = provider.getNodeValue();
|
||||
String replacement = pullValueFromStrings(file.getParentFile(), reference);
|
||||
|
||||
if (replacement != null) {
|
||||
provider.setNodeValue(replacement);
|
||||
saved = true;
|
||||
}
|
||||
saved = isSaved(file, saved, provider);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -132,13 +127,7 @@ public final class ResXmlPatcher {
|
||||
Node provider = attrs.getNamedItem("android:scheme");
|
||||
|
||||
if (provider != null) {
|
||||
String reference = provider.getNodeValue();
|
||||
String replacement = pullValueFromStrings(file.getParentFile(), reference);
|
||||
|
||||
if (replacement != null) {
|
||||
provider.setNodeValue(replacement);
|
||||
saved = true;
|
||||
}
|
||||
saved = isSaved(file, saved, provider);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -153,6 +142,26 @@ public final class ResXmlPatcher {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the replacement was properly made to a node.
|
||||
*
|
||||
* @param file File we are searching for value
|
||||
* @param saved boolean on whether we need to save
|
||||
* @param provider Node we are attempting to replace
|
||||
* @return boolean
|
||||
* @throws AndrolibException setting node value failed
|
||||
*/
|
||||
private static boolean isSaved(File file, boolean saved, Node provider) throws AndrolibException {
|
||||
String reference = provider.getNodeValue();
|
||||
String replacement = pullValueFromStrings(file.getParentFile(), reference);
|
||||
|
||||
if (replacement != null) {
|
||||
provider.setNodeValue(replacement);
|
||||
saved = true;
|
||||
}
|
||||
return saved;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds key in strings.xml file and returns text value
|
||||
*
|
||||
@ -253,6 +262,10 @@ public final class ResXmlPatcher {
|
||||
|
||||
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
|
||||
docFactory.setFeature(FEATURE_DISABLE_DOCTYPE_DECL, true);
|
||||
docFactory.setFeature(FEATURE_LOAD_DTD, false);
|
||||
|
||||
docFactory.setAttribute(ACCESS_EXTERNAL_DTD, " ");
|
||||
docFactory.setAttribute(ACCESS_EXTERNAL_SCHEMA, " ");
|
||||
|
||||
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
|
||||
// Not using the parse(File) method on purpose, so that we can control when
|
||||
@ -284,5 +297,8 @@ public final class ResXmlPatcher {
|
||||
transformer.transform(source, result);
|
||||
}
|
||||
|
||||
private static final String ACCESS_EXTERNAL_DTD = "http://javax.xml.XMLConstants/property/accessExternalDTD";
|
||||
private static final String ACCESS_EXTERNAL_SCHEMA = "http://javax.xml.XMLConstants/property/accessExternalSchema";
|
||||
private static final String FEATURE_LOAD_DTD = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
|
||||
private static final String FEATURE_DISABLE_DOCTYPE_DECL = "http://apache.org/xml/features/disallow-doctype-decl";
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.src;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib.src;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
|
@ -1,3 +1,19 @@
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.xmlpull.renamed;
|
||||
|
||||
import java.io.IOException;
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2014 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -0,0 +1,78 @@
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package brut.androlib;
|
||||
|
||||
import brut.directory.ExtFile;
|
||||
import brut.common.BrutException;
|
||||
import brut.util.OS;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* @author Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*/
|
||||
public class DecodeKotlinTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void beforeClass() throws Exception {
|
||||
TestUtils.cleanFrameworkFile();
|
||||
sTmpDir = new ExtFile(OS.createTempDirectory());
|
||||
TestUtils.copyResourceDir(DecodeKotlinTest.class, "brut/apktool/testkotlin/", sTmpDir);
|
||||
|
||||
String apk = "testkotlin.apk";
|
||||
|
||||
// decode testkotlin.apk
|
||||
ApkDecoder apkDecoder = new ApkDecoder(new File(sTmpDir + File.separator + apk));
|
||||
sTestNewDir = new ExtFile(sTmpDir + File.separator + apk + ".out");
|
||||
|
||||
apkDecoder.setOutDir(new File(sTmpDir + File.separator + apk + ".out"));
|
||||
apkDecoder.decode();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void afterClass() throws BrutException {
|
||||
OS.rmdir(sTmpDir);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void kotlinFolderExistsTest() throws BrutException {
|
||||
assertTrue(sTestNewDir.isDirectory());
|
||||
|
||||
File testKotlinFolder = new File(sTestNewDir, "kotlin");
|
||||
assertTrue(testKotlinFolder.isDirectory());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void kotlinDecodeTest() throws BrutException, IOException {
|
||||
File kotlinActivity = new File(sTestNewDir, "smali/org/example/kotlin/mixed/KotlinActivity.smali");
|
||||
|
||||
assertTrue(FileUtils.readFileToString(kotlinActivity).contains("KotlinActivity.kt"));
|
||||
}
|
||||
|
||||
private static ExtFile sTmpDir;
|
||||
private static ExtFile sTestNewDir;
|
||||
|
||||
private final static Logger LOGGER = Logger.getLogger(DecodeKotlinTest.class.getName());
|
||||
}
|
@ -1,3 +1,19 @@
|
||||
/**
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package brut.androlib;
|
||||
|
||||
import brut.common.BrutException;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2016 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2016 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2014 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2014 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2014 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright 2014 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/**
|
||||
* Copyright 2014 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Ryszard Wiśniewski <brut.alll@gmail.com>
|
||||
* Copyright (C) 2017 Connor Tumbleson <connor.tumbleson@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -13,7 +14,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package brut.androlib;
|
||||
|
||||
import brut.androlib.res.AndrolibResources;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user