diff --git a/CHANGELOG.md b/CHANGELOG.md index 537dc0a..48fbfd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +## [1.1.4-dev.2](https://github.com/ReVanced/revanced-library/compare/v1.1.4-dev.1...v1.1.4-dev.2) (2023-10-10) + + +### Bug Fixes + +* Ask for root permissions before trying to use them ([aea1d69](https://github.com/ReVanced/revanced-library/commit/aea1d6915766d9757075ee459955aa335d906bab)) + +## [1.1.4-dev.1](https://github.com/ReVanced/revanced-library/compare/v1.1.3...v1.1.4-dev.1) (2023-10-09) + + +### Bug Fixes + +* Execute ADB commands sequentially to fix mounting issues ([#12](https://github.com/ReVanced/revanced-library/issues/12)) ([fda3eca](https://github.com/ReVanced/revanced-library/commit/fda3eca74f30b968d8ee816d63a3dcf493e026de)) + ## [1.1.3](https://github.com/ReVanced/revanced-library/compare/v1.1.2...v1.1.3) (2023-10-09) ## [1.1.3-dev.2](https://github.com/ReVanced/revanced-library/compare/v1.1.3-dev.1...v1.1.3-dev.2) (2023-10-09) diff --git a/gradle.properties b/gradle.properties index 6f157a3..fc45ada 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ org.gradle.parallel = true org.gradle.caching = true kotlin.code.style = official -version = 1.1.3 +version = 1.1.4-dev.2 diff --git a/src/main/kotlin/app/revanced/library/adb/AdbManager.kt b/src/main/kotlin/app/revanced/library/adb/AdbManager.kt index 0be060d..123e4f2 100644 --- a/src/main/kotlin/app/revanced/library/adb/AdbManager.kt +++ b/src/main/kotlin/app/revanced/library/adb/AdbManager.kt @@ -84,14 +84,14 @@ sealed class AdbManager private constructor(deviceSerial: String? = null) { device.push(apk.file, TMP_PATH) - device.run("$CREATE_DIR $INSTALLATION_PATH") - device.run(INSTALL_PATCHED_APK, packageName) + device.run("$CREATE_DIR $INSTALLATION_PATH").waitFor() + device.run(INSTALL_PATCHED_APK, packageName).waitFor() device.createFile(TMP_PATH, MOUNT_SCRIPT.applyReplacement(packageName)) - device.run(INSTALL_MOUNT, packageName) - device.run(UMOUNT, packageName) // Sanity check. - device.run(MOUNT_PATH, packageName) + device.run(INSTALL_MOUNT, packageName).waitFor() + device.run(UMOUNT, packageName).waitFor() // Sanity check. + device.run(MOUNT_PATH, packageName).waitFor() device.run(RESTART, packageName) device.run(DELETE, TMP_PATH) diff --git a/src/main/kotlin/app/revanced/library/adb/Commands.kt b/src/main/kotlin/app/revanced/library/adb/Commands.kt index 205f777..4f7a96a 100644 --- a/src/main/kotlin/app/revanced/library/adb/Commands.kt +++ b/src/main/kotlin/app/revanced/library/adb/Commands.kt @@ -2,7 +2,6 @@ package app.revanced.library.adb import se.vidstige.jadb.JadbDevice import se.vidstige.jadb.RemoteFile -import se.vidstige.jadb.ShellProcess import se.vidstige.jadb.ShellProcessBuilder import java.io.File @@ -16,19 +15,14 @@ internal fun JadbDevice.buildCommand(command: String, su: Boolean = true): Shell return shellProcessBuilder(cmd, *args.toTypedArray()) } -internal fun JadbDevice.run(command: String, su: Boolean = true): ShellProcess { - return this.buildCommand(command, su).start()!! -} +internal fun JadbDevice.run(command: String, su: Boolean = true) = + this.buildCommand(command, su).start() internal fun JadbDevice.hasSu() = - this.startCommand("su -h", false).waitFor() == 0 + this.run("whoami", true).waitFor() == 0 internal fun JadbDevice.push(file: File, targetFilePath: String) = push(file, RemoteFile(targetFilePath)) internal fun JadbDevice.createFile(targetFile: String, content: String) = - push(content.byteInputStream(), System.currentTimeMillis(), 644, RemoteFile(targetFile)) - - -private fun JadbDevice.startCommand(command: String, su: Boolean) = - shellProcessBuilder(if (su) "su -c '$command'" else command).start() \ No newline at end of file + push(content.byteInputStream(), System.currentTimeMillis(), 644, RemoteFile(targetFile)) \ No newline at end of file