B4A Library ProBundle

ProBundle contains all the following libraries:

- ArchiverPlusZip v1.13
Based on the Zip4j library, this library allows to add, extract, update and remove files from a zip archive.
It supports encryption and decryption (standard and AES), Zip64 format and split zip archives. It is compatible with B4J.

- ClassLoader v1.0
This library can dynamically load classes from a separate file (JAR or uninstalled APK) at runtime and verify the file signatures to make sure of its origin and integrity.
You can use the library to create plug-ins, load code encrypted in the assets or download code from a remote server, for example.

- CPUFeatures + source v1.0
This library detects the target device's CPU family and the maximum number of CPU cores.

- DataCollection v1.07
This library wraps the ArrayDeque, BitSet, PriorityQueue, SparseArray, Stack, TreeMap and TreeSet classes. These classes can replace your lists, maps or arrays for specific tasks. A TreeSet, for example, can maintain a sorted list of objects in a more efficient manner than a typical List class. A TreeMap is a map whose entries are sorted by their keys. A SparseArray is also a sorted map, but restricted to integer keys, that is lightning-fast.
This library can serialize to an array of bytes any collection, including Map, List and user defined types. A version for B4J is provided (without the SparseArray).

- F5Steg v1.2
This library implements F5, a secure steganographic algorithm, which embeds data into images. Data are encrypted with a password or, by default, with the application signature (thus any tampering of the APK will prevent from extracting valid data).

- FastIO + source v0.9
This library replaces the Read and Write functions (with their encrypted variant) of the RandomAccessFile library for arrays of bytes. These new functions are a lot faster.

- OverlayWindow + source v1.2
This library allows to create overlay windows and floating buttons. These interactive views can be displayed on top of all other applications.

- PackageUtils v2.1
This library replaces the PackageManager class of the Phone library. It gives plenty of informations on packages (activities, features, permissions, receivers, services, etc.) and can list the features available on the system (camera, gps, wifi, etc.). It allows experts to change the enabled state of components.
An application is provided with the library to show what you can get with it.

- UltimateArchiver v0.91
This library wraps P7Zip, a command line utility that can create archives with the 7z, zip, bzip2, gzip, tar or xz format. It can unpack files with extension 7z, cab, gz, img, iso, jar, rar, tar, zip and a few others.
It supports encryption/decryption and volumes. It is written in C to be as fast as possible.

- UnArchiver7z v1.0
Based on the official source code in C of 7zip, this library allows to extract files from a 7z archive compressed with the Lzma or Lzma2 method. It can unpack an archive directly from the assets.
It does not support decryption.

- UnArchiverRar v1.04
Based on the official source code in C++ of the UnRar.dll, this library allows to extract files from a Rar archive.
It supports decryption, Rar5 format, QuickOpen records and split Rar archives.

Since September 2018, ProBundle is available for free. You can still donate for it if you wish.
To send the money, just click on the Donate button below (the amount to enter is in euros):


CURRENT VERSION : ProBundle 1.22

DOWNLOAD HERE:
 
Last edited:

Midimaster

Active Member
Licensed User
ok i installed chrome to visit your page or to see the post#1 in this thread... but i have to tell you that also your site does not work on chrome in win 10

see the chrome screenshot:
1601107183680.png


the text says: The preview of this file could not be displayed. During loading of the preview there was a problem

the same with your link:
1601107411950.png
 

Informatix

Expert
Licensed User
Longtime User
I have Chrome and it works perfectly (and I'm pretty sure that all browsers work as fine). The message that you get is normal (the file is hosted on Google Drive). Just click on download.
I also find this way of doing things a bit complicated but I have no mastery over it. On my side, I just created a link in the forum that points to the file to download, but it doesn't appear like that to the users.
 

Midimaster

Active Member
Licensed User
ok i tried to use the download button instead of the displayed problems and download worked. thank you. send you a donation as appreciation.
will report if the library works now too.
 

Midimaster

Active Member
Licensed User
I can report, that now it looks like running... But I can also tell you it was no bug, but a forgotten line in my code. In your examples I saw that in B4J I need to add this line to my code:
B4X:
    Zip.ZipExecutionMode = Zip.ZIP_EXECMODE_ASYNCHRONOUS

Now a 10MB-zipped file with AES128 is unpacked in 300msec to 19MB. both EventCalls return usefull values.

Thank you for our support
 

SMOOTSARA

Active Member
Licensed User
Longtime User
ProBundle contains all the following libraries:

- ArchiverPlusZip v1.13
Based on the Zip4j library, this library allows to add, extract, update and remove files from a zip archive.
It supports encryption and decryption (standard and AES), Zip64 format and split zip archives. It is compatible with B4J.

- ClassLoader v1.0
This library can dynamically load classes from a separate file (JAR or uninstalled APK) at runtime and verify the file signatures to make sure of its origin and integrity.
You can use the library to create plug-ins, load code encrypted in the assets or download code from a remote server, for example.

- CPUFeatures + source v1.0
This library detects the target device's CPU family and the maximum number of CPU cores.

- DataCollection v1.07
This library wraps the ArrayDeque, BitSet, PriorityQueue, SparseArray, Stack, TreeMap and TreeSet classes. These classes can replace your lists, maps or arrays for specific tasks. A TreeSet, for example, can maintain a sorted list of objects in a more efficient manner than a typical List class. A TreeMap is a map whose entries are sorted by their keys. A SparseArray is also a sorted map, but restricted to integer keys, that is lightning-fast.
This library can serialize to an array of bytes any collection, including Map, List and user defined types. A version for B4J is provided (without the SparseArray).

- F5Steg v1.2
This library implements F5, a secure steganographic algorithm, which embeds data into images. Data are encrypted with a password or, by default, with the application signature (thus any tampering of the APK will prevent from extracting valid data).

- FastIO + source v0.9
This library replaces the Read and Write functions (with their encrypted variant) of the RandomAccessFile library for arrays of bytes. These new functions are a lot faster.

- OverlayWindow + source v1.2
This library allows to create overlay windows and floating buttons. These interactive views can be displayed on top of all other applications.

- PackageUtils v2.1
This library replaces the PackageManager class of the Phone library. It gives plenty of informations on packages (activities, features, permissions, receivers, services, etc.) and can list the features available on the system (camera, gps, wifi, etc.). It allows experts to change the enabled state of components.
An application is provided with the library to show what you can get with it.

- UltimateArchiver v0.91
This library wraps P7Zip, a command line utility that can create archives with the 7z, zip, bzip2, gzip, tar or xz format. It can unpack files with extension 7z, cab, gz, img, iso, jar, rar, tar, zip and a few others.
It supports encryption/decryption and volumes. It is written in C to be as fast as possible.

- UnArchiver7z v1.0
Based on the official source code in C of 7zip, this library allows to extract files from a 7z archive compressed with the Lzma or Lzma2 method. It can unpack an archive directly from the assets.
It does not support decryption.

- UnArchiverRar v1.04
Based on the official source code in C++ of the UnRar.dll, this library allows to extract files from a Rar archive.
It supports decryption, Rar5 format, QuickOpen records and split Rar archives.

Since September 2018, ProBundle is available for free. You can still donate for it if you wish.
To send the money, just click on the Donate button below (the amount to enter is in euros):


CURRENT VERSION : ProBundle 1.22

DOWNLOAD HERE:


Hi Informatix
I use the following library in the programs

UnArchiverRar v1.04

I update my app to Google play and get error "Support 64-bit architectures"

What is the solution to this issue?
 

SMOOTSARA

Active Member
Licensed User
Longtime User
Please read the file "addon_read_me.txt" provided with the library.


Thank you for your guidance and support

I read this text but I do not know exactly the steps to do it
Can you guide me so that I can solve this problem?


You may encounter an UnsatisfiedLink error while running your application with UnArchiverRar if it uses other libraries with .so files.
This error is raised when a .so file is not found for a given CPU architecture. For example, you may have a library that supports mips64 while UnArchiverRar.jar does not embed the .so file specific to that architecture.
To fix this, you have to add the appropriate native library of this add-on in the /lib directory of UnArchiverRar.jar.


and


Thank you
 

Informatix

Expert
Licensed User
Longtime User
Thank you for your guidance and support

I read this text but I do not know exactly the steps to do it
Can you guide me so that I can solve this problem?





and


Thank you
Open the JAR file with you favorite zip utility and add the addon folders in the lib folder of the JAR file. This will add the support of 64 bits architectures.
 

Merlot2309

Active Member
Licensed User
Longtime User
Hello,

Error: Expected central directory entry not found (#1)

Using the Pro bundle zip, I am getting an error with sdk 29 line 7 (Arc.Unzip............) :
B4X:
                Dim sf As Object = FTP.DownloadFile(Starter.FTPMediaDirectory & Starter.zpFotos, True, Starter.TempPath, Starter.zpFotos)
                DisplayTask("Downloading sound files")
                wait for (sf) FTP_DownloadCompleted(ServerPath As String, Success As Boolean)
                If Success Then
                    Dim Const ArchiveFolder As String = File.DirRootExternal & "/RegiWingsTemp/"
                    File.Copy(ArchiveFolder, Starter.zpFotos, Starter.MediaPathF, Starter.zpFotos)
                    Arc.UnZip(Starter.MediaPathF & "/" & Starter.zpFotos, Starter.MediaPathF, "Archiver")
                    If Success Then
                    ...........................
The error (= line 7 in the code block):

Error:
Error occurred on line: 491 (Settings) 
a.a.a.c.a: Expected central directory entry not found (#1)
    at a.a.a.a.a.b(SourceFile:224)
    at a.a.a.a.c.a(SourceFile:6094)
    at a.a.a.a.c.c(SourceFile:763)
    at b4a.flm.archiverplus.ArchiverPlusZip.UnZip(SourceFile:318)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:777)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:354)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
    at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
    at anywheresoftware.b4a.shell.DebugResumableSub$RemoteResumableSub.resume(DebugResumableSub.java:22)
    at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:267)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:137)
    at anywheresoftware.b4a.BA$2.run(BA.java:387)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:227)
    at android.app.ActivityThread.main(ActivityThread.java:7582)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:953)

Thank you in advance!

Regards,
Helen
 

Merlot2309

Active Member
Licensed User
Longtime User
Hello Fred,

This is a Windows zip file. I also tried files zipped with 7zip

Regards,
Helen
 

Attachments

  • Fotos.zip
    342 KB · Views: 255

Merlot2309

Active Member
Licensed User
Longtime User
Ok, thank you. Sure I am doing something wrong. I tried it in Release and debug, searched the internet, etc.

Regards,
Helen
 

Merlot2309

Active Member
Licensed User
Longtime User
Hello,

I keep on getting the: a.a.a.c.a: Expected central directory entry not found (#1)
On my Android device I get a "package is damaged" error when I try to unzip the file with an external File Manager.
Any idea what else it could be (I saw a few topics on Stackoverflow about the central directory error).

Thank you in advance and regards,
Helen
 

Informatix

Expert
Licensed User
Longtime User
Hello,

I keep on getting the: a.a.a.c.a: Expected central directory entry not found (#1)
On my Android device I get a "package is damaged" error when I try to unzip the file with an external File Manager.
Any idea what else it could be (I saw a few topics on Stackoverflow about the central directory error).

Thank you in advance and regards,
Helen
This means that your zip file is damaged. So this is not the file you sent me because this one was correct.
You can try to repair this file with a utility. My library won't be of any help in that case.
If it's you that created the file, the easiest way is to recreate it.
 

Merlot2309

Active Member
Licensed User
Longtime User
Hello again,
I am getting a bit further: the problem lies in the Wait For construction. I found some topics about Wait For and in one of them you/Erel mentioned that CallSubDelayed should be used when Wait For is used more than once. So I have split up the code and the files do get unzipped now.
I still don't understand that the code worked with a previous sftp-server download in previous SDK's.
Anyway, thank you very much for your help, it's much apreciated.

Regards,
Helen
 
Top