Extract dex move to gradle task, apply to CI .yml
This commit is contained in:
@@ -39,8 +39,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Build VTLite
|
- name: Build VTLite
|
||||||
run: |
|
run: |
|
||||||
bash scripts/buildworkflow.sh
|
gradle prepareDexForMerge
|
||||||
|
java -jar scripts/apktool.jar b smali -o smali/VTLite.apk --use-aapt2 -p scripts/framework/
|
||||||
|
|
||||||
- name: Sign and verify the apk
|
- name: Sign and verify the apk
|
||||||
run: |
|
run: |
|
||||||
java -jar scripts/apksigner.jar sign --ks scripts/debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:android smali/VTLite.apk
|
java -jar scripts/apksigner.jar sign --ks scripts/debug.keystore --ks-key-alias androiddebugkey --ks-pass pass:android smali/VTLite.apk
|
||||||
|
|||||||
+26
-8
@@ -1,3 +1,4 @@
|
|||||||
|
import java.nio.file.Files
|
||||||
import java.util.zip.ZipEntry
|
import java.util.zip.ZipEntry
|
||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
import java.util.zip.ZipInputStream
|
import java.util.zip.ZipInputStream
|
||||||
@@ -9,10 +10,17 @@ plugins {
|
|||||||
id 'net.nemerosa.versioning' version '2.15.1'
|
id 'net.nemerosa.versioning' version '2.15.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def smaliFolder = projectDir.toPath().resolve("../smali").normalize()
|
||||||
|
def scriptsFolder = projectDir.toPath().resolve("../scripts").normalize()
|
||||||
|
|
||||||
versionFile {
|
versionFile {
|
||||||
file = projectDir.toPath().resolve("src/main/assets/version.properties").toFile()
|
file = projectDir.toPath().resolve("src/main/assets/version.properties").toFile()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task cleanVersionFile {
|
||||||
|
projectDir.toPath().resolve("src/main/assets/version.properties").toFile().delete()
|
||||||
|
}
|
||||||
|
|
||||||
task exportDex {
|
task exportDex {
|
||||||
doLast {
|
doLast {
|
||||||
try {
|
try {
|
||||||
@@ -96,25 +104,35 @@ dependencies {
|
|||||||
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
|
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task prepareDexForMerge(type: Copy) {
|
||||||
task cleanVersionFile {
|
dependsOn('exportDex')
|
||||||
projectDir.toPath().resolve("src/main/assets/version.properties").toFile().delete()
|
into smaliFolder.toString()
|
||||||
|
from(projectDir) {
|
||||||
|
include 'classes*.dex'
|
||||||
|
}
|
||||||
|
from(projectDir) {
|
||||||
|
include 'version.properties'
|
||||||
|
into("assets")
|
||||||
|
}
|
||||||
|
doLast {
|
||||||
|
Files.newDirectoryStream(projectDir.toPath(), "classes*.dex").forEach { it.toFile().delete() }
|
||||||
|
new File(projectDir, "version.properties").delete()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildVTL(type: Exec) {
|
task buildVTL(type: Exec) {
|
||||||
dependsOn 'assembleRelease'
|
dependsOn('prepareDexForMerge')
|
||||||
dependsOn 'exportDex'
|
|
||||||
workingDir(projectDir.parentFile)
|
workingDir(projectDir.parentFile)
|
||||||
if (Os.isFamily("unix") || Os.isFamily("mac")) {
|
if (Os.isFamily("unix") || Os.isFamily("mac")) {
|
||||||
commandLine 'bash', '-c','./scripts/build.sh'
|
commandLine 'bash', '-c', './scripts/build.sh'
|
||||||
} else {
|
} else {
|
||||||
commandLine 'cmd','/C', '.\\scripts\\build.bat'
|
commandLine 'cmd', '/C', '.\\scripts\\build.bat'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildAndInstallVTL(type: Exec) {
|
task buildAndInstallVTL(type: Exec) {
|
||||||
dependsOn('buildVTL')
|
dependsOn('buildVTL')
|
||||||
workingDir(projectDir.toPath().resolve("../scripts").normalize().toString())
|
workingDir(scriptsFolder.toString())
|
||||||
ignoreExitValue true
|
ignoreExitValue true
|
||||||
if (Os.isFamily("unix") || Os.isFamily("mac")) {
|
if (Os.isFamily("unix") || Os.isFamily("mac")) {
|
||||||
commandLine 'bash', '-c', 'adb install VTLite.apk'
|
commandLine 'bash', '-c', 'adb install VTLite.apk'
|
||||||
|
|||||||
+1
-33
@@ -11,38 +11,6 @@ setlocal
|
|||||||
call :setESC
|
call :setESC
|
||||||
|
|
||||||
cls
|
cls
|
||||||
echo.
|
|
||||||
echo %ESC%[1;4mMove dex6 to source dir...%ESC%[0m
|
|
||||||
echo.
|
|
||||||
move app\classes6.dex smali\
|
|
||||||
if "%ERRORLEVEL%" == "0" (
|
|
||||||
echo %ESC%[92mSuccessful%ESC%[0m
|
|
||||||
) else (
|
|
||||||
echo %ESC%[31mFailed%ESC%[0m
|
|
||||||
exit /B 1
|
|
||||||
)
|
|
||||||
|
|
||||||
echo.
|
|
||||||
echo %ESC%[1;4mMove dex7 to source dir...%ESC%[0m
|
|
||||||
echo.
|
|
||||||
move app\classes7.dex smali\
|
|
||||||
if "%ERRORLEVEL%" == "0" (
|
|
||||||
echo %ESC%[92mSuccessful%ESC%[0m
|
|
||||||
) else (
|
|
||||||
echo %ESC%[31mFailed%ESC%[0m
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
echo.
|
|
||||||
echo %ESC%[1;4mMove version.properties to source dir...%ESC%[0m
|
|
||||||
echo.
|
|
||||||
move app\version.properties smali\assets\
|
|
||||||
if "%ERRORLEVEL%" == "0" (
|
|
||||||
echo %ESC%[92mSuccessful%ESC%[0m
|
|
||||||
) else (
|
|
||||||
echo %ESC%[31mFailed%ESC%[0m
|
|
||||||
)
|
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo %ESC%[1;4mBuild apk...%ESC%[0m
|
echo %ESC%[1;4mBuild apk...%ESC%[0m
|
||||||
echo.
|
echo.
|
||||||
@@ -55,7 +23,7 @@ if "%ERRORLEVEL%" == "0" (
|
|||||||
exit /B 1
|
exit /B 1
|
||||||
)
|
)
|
||||||
del classes6.dex
|
del classes6.dex
|
||||||
del classes8.dex
|
del classes7.dex
|
||||||
del assets\version.properties
|
del assets\version.properties
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
|
|||||||
@@ -5,30 +5,6 @@ NC='\033[0m'
|
|||||||
BOLD='\033[1m'
|
BOLD='\033[1m'
|
||||||
UNDERLINE='\033[4m'
|
UNDERLINE='\033[4m'
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос dex6 в папку с исходным кодом..${NC}"
|
|
||||||
mv app/classes6.dex smali/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос dex7 в папку с исходным кодом..${NC}"
|
|
||||||
mv app/classes7.dex smali/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос version.properties в папку с исходным кодом..${NC}"
|
|
||||||
mv app/version.properties smali/assets/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Сборка apk..${NC}"
|
echo -e "${BOLD}${UNDERLINE}Сборка apk..${NC}"
|
||||||
cd smali/
|
cd smali/
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Сборка dex..${NC}\n"
|
|
||||||
|
|
||||||
gradle versionFile
|
|
||||||
gradle assembleRelease
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Экспорт dex..${NC}"
|
|
||||||
gradle exportDex
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос dex6 в папку с исходным кодом..${NC}"
|
|
||||||
mv app/classes6.dex smali/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос dex7 в папку с исходным кодом..${NC}"
|
|
||||||
mv app/classes7.dex smali/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Перенос version.properties в папку с исходным кодом..${NC}"
|
|
||||||
mv app/version.properties smali/assets/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "${BOLD}${UNDERLINE}Сборка apk..${NC}"
|
|
||||||
java -jar scripts/apktool.jar b smali -o smali/VTLite.apk --use-aapt2 -p scripts/framework/
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo -e "${GREEN}Успех!${NC}\n"
|
|
||||||
else
|
|
||||||
echo -e "${RED}Провал.${NC}\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user