mirror of
https://github.com/izzy2lost/aab2apk.git
synced 2026-06-19 01:20:08 -07:00
Added Ubuntu Compatibility
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package command
|
||||
|
||||
import utils.Log
|
||||
import utils.SigningMode
|
||||
import utils.Utils
|
||||
|
||||
class CommandBuilder {
|
||||
private var bundletoolPath: String = ""
|
||||
@@ -39,13 +41,13 @@ class CommandBuilder {
|
||||
fun getAdbVerifyCommand(): String {
|
||||
val (forVerify, path) = adbVerifyCommandExecute
|
||||
if (forVerify) {
|
||||
return "\"${path}\" version"
|
||||
return if (Utils.isWindowsOS()) "\"${path}\" version" else "$path version"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
fun getAdbFetchCommand(adbPath: String): String {
|
||||
return "\"${adbPath}\" devices"
|
||||
return if (Utils.isWindowsOS()) "\"${adbPath}\" devices" else "$adbPath devices"
|
||||
}
|
||||
|
||||
fun validateAndGetCommand(): Pair<String, Boolean> {
|
||||
@@ -69,23 +71,38 @@ class CommandBuilder {
|
||||
|
||||
private fun getCommand(): String {
|
||||
val commandBuilder = StringBuilder()
|
||||
commandBuilder.append("java -jar \"${bundletoolPath}\" build-apks ")
|
||||
if (Utils.isWindowsOS()) {
|
||||
commandBuilder.append("java -jar \"$bundletoolPath\" build-apks ")
|
||||
if (isAapt2PathEnabled) {
|
||||
commandBuilder.append("--aapt2=\"$aapt2Path\" ")
|
||||
}
|
||||
commandBuilder.append(
|
||||
"--bundle=\"${aabFilePath.first}${aabFilePath.second}\" --output=\"${aabFilePath.first}${
|
||||
aabFilePath.second.split(
|
||||
"."
|
||||
)[0]
|
||||
}.apks\" "
|
||||
)
|
||||
} else {
|
||||
commandBuilder.append("java -jar $bundletoolPath build-apks ")
|
||||
if (isAapt2PathEnabled) {
|
||||
commandBuilder.append("--aapt2=$aapt2Path ")
|
||||
}
|
||||
commandBuilder.append(
|
||||
"--bundle=${aabFilePath.first}${aabFilePath.second} --output=${aabFilePath.first}${
|
||||
aabFilePath.second.split(
|
||||
"."
|
||||
)[0]
|
||||
}.apks "
|
||||
)
|
||||
}
|
||||
|
||||
if (isUniversalMode) {
|
||||
commandBuilder.append("--mode=universal ")
|
||||
}
|
||||
if (isOverwrite) {
|
||||
commandBuilder.append("--overwrite ")
|
||||
}
|
||||
if (isAapt2PathEnabled) {
|
||||
commandBuilder.append("--aapt2=\"$aapt2Path\" ")
|
||||
}
|
||||
commandBuilder.append(
|
||||
"--bundle=\"${aabFilePath.first}${aabFilePath.second}\" --output=\"${aabFilePath.first}${
|
||||
aabFilePath.second.split(
|
||||
"."
|
||||
)[0]
|
||||
}.apks\" "
|
||||
)
|
||||
|
||||
if (signingMode == SigningMode.RELEASE) {
|
||||
commandBuilder.append("--ks=$keyStorePath --ks-pass=pass:$keyStorePassword --ks-key-alias=$keyAlias --key-pass=pass:$keyPassword ")
|
||||
@@ -95,6 +112,7 @@ class CommandBuilder {
|
||||
commandBuilder.append("--device-id=$adbSerialId ")
|
||||
}
|
||||
|
||||
Log.i("COMMAND_BUILDER -> $commandBuilder")
|
||||
return commandBuilder.toString()
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package command
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import utils.SigningMode
|
||||
import utils.Utils
|
||||
|
||||
class CommandBuilderTest {
|
||||
|
||||
@@ -57,10 +58,17 @@ class CommandBuilderTest {
|
||||
.keyPassword("keyPassword")
|
||||
.isUniversalMode(false).validateAndGetCommand()
|
||||
println(result)
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --ks=/path/to/keystore.jks --ks-pass=pass:keystorePassword --ks-key-alias=keyAlias --key-pass=pass:keyPassword ",
|
||||
result.first
|
||||
)
|
||||
if (Utils.isWindowsOS()) {
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --ks=/path/to/keystore.jks --ks-pass=pass:keystorePassword --ks-key-alias=keyAlias --key-pass=pass:keyPassword ",
|
||||
result.first
|
||||
)
|
||||
} else {
|
||||
assertEquals(
|
||||
"java -jar bundletool.jar build-apks --bundle=/path/to/file.aab --output=/path/to/file.apks --ks=/path/to/keystore.jks --ks-pass=pass:keystorePassword --ks-key-alias=keyAlias --key-pass=pass:keyPassword ",
|
||||
result.first
|
||||
)
|
||||
}
|
||||
assertEquals(true, result.second)
|
||||
}
|
||||
|
||||
@@ -73,10 +81,17 @@ class CommandBuilderTest {
|
||||
.isUniversalMode(false)
|
||||
.validateAndGetCommand()
|
||||
println(result)
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" ",
|
||||
result.first
|
||||
)
|
||||
if (Utils.isWindowsOS()) {
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" ",
|
||||
result.first
|
||||
)
|
||||
} else {
|
||||
assertEquals(
|
||||
"java -jar bundletool.jar build-apks --bundle=/path/to/file.aab --output=/path/to/file.apks ",
|
||||
result.first
|
||||
)
|
||||
}
|
||||
assertEquals(true, result.second)
|
||||
}
|
||||
|
||||
@@ -85,7 +100,8 @@ class CommandBuilderTest {
|
||||
val result = CommandBuilder()
|
||||
.verifyAdbPath(true, "/path/to/adb")
|
||||
.getAdbVerifyCommand()
|
||||
assertEquals("\"/path/to/adb\" version", result)
|
||||
if (Utils.isWindowsOS()) assertEquals("\"/path/to/adb\" version", result)
|
||||
else assertEquals("/path/to/adb version", result)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -96,10 +112,17 @@ class CommandBuilderTest {
|
||||
.isUniversalMode(true)
|
||||
.validateAndGetCommand()
|
||||
println(result)
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --mode=universal --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" ",
|
||||
result.first
|
||||
)
|
||||
if (Utils.isWindowsOS()) {
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --mode=universal ",
|
||||
result.first
|
||||
)
|
||||
} else {
|
||||
assertEquals(
|
||||
"java -jar bundletool.jar build-apks --bundle=/path/to/file.aab --output=/path/to/file.apks --mode=universal ",
|
||||
result.first
|
||||
)
|
||||
}
|
||||
assertEquals(true, result.second)
|
||||
}
|
||||
|
||||
@@ -111,10 +134,17 @@ class CommandBuilderTest {
|
||||
.isOverwrite(true)
|
||||
.isUniversalMode(false).validateAndGetCommand()
|
||||
println(result)
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --overwrite --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" ",
|
||||
result.first
|
||||
)
|
||||
if (Utils.isWindowsOS()) {
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --overwrite ",
|
||||
result.first
|
||||
)
|
||||
} else {
|
||||
assertEquals(
|
||||
"java -jar bundletool.jar build-apks --bundle=/path/to/file.aab --output=/path/to/file.apks --overwrite ",
|
||||
result.first
|
||||
)
|
||||
}
|
||||
assertEquals(true, result.second)
|
||||
}
|
||||
|
||||
@@ -146,10 +176,17 @@ class CommandBuilderTest {
|
||||
.adbSerialId("RZCWC0EZLEH")
|
||||
.validateAndGetCommand()
|
||||
println(result)
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --device-id=RZCWC0EZLEH ",
|
||||
result.first
|
||||
)
|
||||
if (Utils.isWindowsOS()) {
|
||||
assertEquals(
|
||||
"java -jar \"bundletool.jar\" build-apks --bundle=\"/path/to/file.aab\" --output=\"/path/to/file.apks\" --device-id=RZCWC0EZLEH ",
|
||||
result.first
|
||||
)
|
||||
} else {
|
||||
assertEquals(
|
||||
"java -jar bundletool.jar build-apks --bundle=/path/to/file.aab --output=/path/to/file.apks --device-id=RZCWC0EZLEH ",
|
||||
result.first
|
||||
)
|
||||
}
|
||||
assertEquals(true, result.second)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user