Hi
I knew that APK files are basically ZIP files.
I tried, then to write this code for B4J
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private xui As XUI
Private Button1 As B4XView
Private abZip As ABZipUnzip
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("Layout1")
MainForm.Show
Dim myAppPath As String
myAppPath=File.DirApp
If File.Exists(myAppPath ,"\tmp")=False Then
File.MakeDir (myAppPath , "\tmp")
End If
abZip.ABUnzip(myAppPath & "\input.apk",myAppPath & "\tmp")
abZip.ABZipDirectory(myAppPath & "\tmp",myAppPath & "\output.apk")
End Sub
that:
1. extract, using the ABZipUnzip library, the contents of a working APK (created with B4A) called input.apk in a tmp folder
2. create an output.apk file by compressing the contents of the tmp folder using the ABZipUnzip library.
I expected the generated file output.apk to be exactly identical to input.apk.
But is not so.
If I rename the two files input.apk and output.apk to input.zip and output.zip and extract the files in two different folders, the files in the two folders are the same, but the output.apk file is not seen as an apk valid from Android devices.
Can anyone explain to me why and possibly if there is a way to decompress and then recompress an apk file while keeping it functional?
Thank you.