Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Rules have been updated! Here

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
v6 packer apks 9 sap android 10 split

SAP (Split APKs Packer) v6.9.10
#1
SAP (Split APKs Packer) v6.9.10
Requirements: JRE/OpenJDK 1.8 or above | GLIBC 2.31+ on Linux | 64-bit OS
Overview: A simple and fast tool to transform Android App Bundles into single Android Packages.

[Image: ?dm=768XZ1US]



[Image: ?dm=6NPLN6DK]



[Image: ?dm=4WMJ]


HOW IT WORKS
SAP uses Apktool to decode the resources of the files included in the bundle to be processed.
Then it merges all these files into the base package folder before adjusting and correcting them.
Apktool is used to build the single package, Uber-APK-Signer for zipAlign/sign processes.
SAP doesn’t work on dynamic features but configuration modules only.

INFO:
SAP is a portable application ; all files present in its folder are necessary.
Two versions are available:
- for Windows OS
- for Linux based OS.

VERSION:
Split APKs Packer v6.9.10
Designed and coded by Kirlif’
Compiled on 13/November/2022

REQUIREMENTS:
The two fonts provided must be installed.
JRE/OpenJDK 1.8 or above ; Java binaries folder must be present in the system PATH.
GLIBC 2.31+ required on Linux

USAGE:
Two ways to create a project:
- with « Directory » button to choose the folder that contains the split packages to merge.
SAP will work inside.
- with « Archive » button to choose a ZIP archive (.apks, .xapk, .zip, .apkm).
SAP will extract its content in a new folder next to it (archive_name_SAP_Project) and work inside.
SAP check the validity of the bundle then « Select » and « Start » buttons are enabled.
If build succeeded the resulting APK will be found in the « build » folder inside the project directory with the log file.

FEATURES:
« Select » button allows to customize the project by selecting the wanted split packages:
- multi-selection and selection of several ranges of items are possible with CTRL key and mouse.
« Workers » spinner defines the number of concurrent threads to be created for decodings:
- the maximum number is defined by the number of CPUs.
« Sign » checkbox allows the resulting APK to be zip-aligned and signed:
- a debug key is used by default. A custom key can be imported thanks to « Keystore » button.
An obfuscated config file is created that contains the parent directory of the last project and the few settings used:
- it is updated when a custom keystore is imported and when the app is exited.
A log file is created inside the project folder:
- it is moved into « build » folder at the end of the successful process.
« Start » button will launch the process:
- split packages decoding.
During decoding « Start » button is changed to « Cancel » that allows to abandon the project.
- SAP works on decoded files
- finally it try to build a single package.
SAP tool allows to merge new split packages with an already SAP repacked APK.

MANUAL MODE:
If build failed, SAP switch to « Manual Mode »:
- the « Start » button is changed to « Build » and allows to retry after manual changes.
- Most of fails are due to not well-formed xml files. Apktool warnings in the log file will help to create fi12es).
The failed project can be abandoned and reopened later.
If the project consists of a single file which is already a SAP repacking, it is automatically decoded.
SAP then switches to « Manual Mode » to allow modding.

CREDITS:
Connor Tumbleson & Ryszard Wisniewski for Apktool: https://github.com/iBotPeaches/Apktool
Patrick Favre-Bulle for Uber Apk Signer: https://github.com/patrickfav/uber-apk-signer
Souradip Mookerjee for unapkm: https://github.com/souramoo/unapkm
Kay Hayen and Nuitka Organization for Nuitka: https://github.com/Nuitka/Nuitka
Markus Oberhumer, Laszlo Molnar & John Reiser for UPX: https://github.com/upx/upx

NOTE:
- Feel free to manually import the « config » file from your previous version.
- About Linux users, Don’t forget to give the « x » permission to « sap » binary!
On older systems the « sap » binary is not recognized as an executable but as a shared library.
To help, I’ve added a launcher (.desktop file) that need to be adjusted with the executable path and the icon path.
Alternatively it can be launched from a terminal or you can create your own launcher script.

What’s New:
- Bug Fixes
- Apktool updated to 2.6.2-07d15e-SNAPSHOT

This app has no advertisements

More Info:
CODE: SELECT ALL
[email protected]


Download Instructions:
● Linux:
Code:
The contents of this section are hidden
You have No permissions

Mirrors:
Code:
The contents of this section are hidden
You have No permissions

● Windows:
Code:
The contents of this section are hidden
You have No permissions

Mirror:
Code:
The contents of this section are hidden
You have No permissions
TRANSLATE with x
English
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden
The contents of this section are hidden


var LanguageMenu; var LanguageMenu_keys=["ar","bg","ca","zh-CHS","zh-CHT","cs","da","nl","en","et","fi","fr","de","el","ht","he","hi","mww","hu","id","it","ja","tlh","ko","lv","lt","ms","mt","no","fa","pl","pt","ro","ru","sk","sl","es","sv","th","tr","uk","ur","vi","cy"]; var LanguageMenu_values=["Arabic","Bulgarian","Catalan","Chinese Simplified","Chinese Traditional","Czech","Danish","Dutch","English","Estonian","Finnish","French","German","Greek","Haitian Creole","Hebrew","Hindi","Hmong Daw","Hungarian","Indonesian","Italian","Japanese","Klingon","Korean","Latvian","Lithuanian","Malay","Maltese","Norwegian","Persian","Polish","Portuguese","Romanian","Russian","Slovak","Slovenian","Spanish","Swedish","Thai","Turkish","Ukrainian","Urdu","Vietnamese","Welsh"]; var LanguageMenu_callback=function(){ }; var LanguageMenu_popupid='__LanguageMenu_popup';
The contents of this section are hidden The contents of this section are hidden The contents of this section are hidden

TRANSLATE with
COPY THE URL BELOW

The contents of this section are hidden

EMBED THE SNIPPET BELOW IN YOUR SITE

Enable collaborative features and customize widget: The contents of this section are hidden
The contents of this section are hidden
var intervalId = setInterval(function () { if (MtPopUpList) { LanguageMenu = new MtPopUpList(); var langMenu = document.getElementById(LanguageMenu_popupid); var origLangDiv = document.createElement("div"); origLangDiv.id = "OriginalLanguageDiv"; origLangDiv.innerHTML = "ORIGINAL: "; langMenu.appendChild(origLangDiv); LanguageMenu.Init('LanguageMenu', LanguageMenu_keys, LanguageMenu_values, LanguageMenu_callback, LanguageMenu_popupid); window["LanguageMenu"] = LanguageMenu; clearInterval(intervalId); } }, 1);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)