Skip to content

Commit 578e16b

Browse files
committed
fix: Do not sign if mounting
1 parent 1319ab7 commit 578e16b

File tree

3 files changed

+11
-28
lines changed

3 files changed

+11
-28
lines changed

revanced-cli/src/main/kotlin/app/revanced/cli/command/PatchCommand.kt

+6-5
Original file line numberDiff line numberDiff line change
@@ -208,16 +208,17 @@ internal object PatchCommand : Runnable {
208208

209209
// region Save
210210

211-
ApkUtils.alignAndSign(
212-
apk,
211+
val aligned = resourceCachePath.resolve(apk.name)
212+
ApkUtils.align(apk, aligned, patcherResult)
213+
if (!mount) ApkUtils.sign(
214+
aligned,
213215
outputFilePath,
214216
SigningOptions(
215217
commonName,
216218
password,
217-
keystoreFilePath ?: outputFilePath.parentFile
219+
keystoreFilePath ?: outputFilePath.absoluteFile.parentFile
218220
.resolve("${outputFilePath.nameWithoutExtension}.keystore"),
219-
),
220-
patcherResult
221+
)
221222
)
222223

223224
// endregion

revanced-lib/api/revanced-lib.api

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
public final class app/revanced/lib/ApkUtils {
22
public static final field INSTANCE Lapp/revanced/lib/ApkUtils;
3-
public final fun alignAndSign (Ljava/io/File;Ljava/io/File;Lapp/revanced/lib/signing/SigningOptions;Lapp/revanced/patcher/PatcherResult;)V
3+
public final fun align (Ljava/io/File;Ljava/io/File;Lapp/revanced/patcher/PatcherResult;)V
4+
public final fun sign (Ljava/io/File;Ljava/io/File;Lapp/revanced/lib/signing/SigningOptions;)V
45
}
56

67
public final class app/revanced/lib/Options {

revanced-lib/src/main/kotlin/app/revanced/lib/ApkUtils.kt

+3-22
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,18 @@ import app.revanced.patcher.PatcherResult
99
import java.io.File
1010
import java.util.logging.Logger
1111

12+
@Suppress("MemberVisibilityCanBePrivate", "unused")
1213
object ApkUtils {
1314
private val logger = Logger.getLogger(ApkUtils::class.java.name)
1415

15-
/**
16-
* Aligns and signs the apk at [apkFile] and writes it to [outputFile].
17-
*
18-
* @param apkFile The apk to align and sign.
19-
* @param outputFile The apk to write the aligned and signed apk to.
20-
* @param signingOptions The options to use for signing.
21-
* @param patchedEntriesSource The result of the patcher to add the patched dex files and resources.
22-
*/
23-
fun alignAndSign(
24-
apkFile: File,
25-
outputFile: File,
26-
signingOptions: SigningOptions,
27-
patchedEntriesSource: PatcherResult
28-
) {
29-
if (outputFile.exists()) outputFile.delete()
30-
31-
align(apkFile, outputFile, patchedEntriesSource)
32-
sign(outputFile, outputFile, signingOptions)
33-
}
34-
3516
/**
3617
* Creates a new apk from [apkFile] and [patchedEntriesSource] and writes it to [outputFile].
3718
*
3819
* @param apkFile The apk to copy entries from.
3920
* @param outputFile The apk to write the new entries to.
4021
* @param patchedEntriesSource The result of the patcher to add the patched dex files and resources.
4122
*/
42-
private fun align(apkFile: File, outputFile: File, patchedEntriesSource: PatcherResult) {
23+
fun align(apkFile: File, outputFile: File, patchedEntriesSource: PatcherResult) {
4324
logger.info("Aligning ${apkFile.name}")
4425

4526
ZipFile(outputFile).use { file ->
@@ -72,7 +53,7 @@ object ApkUtils {
7253
* @param output The apk to write the signed apk to.
7354
* @param signingOptions The options to use for signing.
7455
*/
75-
private fun sign(
56+
fun sign(
7657
apk: File,
7758
output: File,
7859
signingOptions: SigningOptions,

0 commit comments

Comments
 (0)