aefyr / sai Goto Github PK
View Code? Open in Web Editor NEWAndroid split APKs installer
License: GNU General Public License v3.0
Android split APKs installer
License: GNU General Public License v3.0
可以增加个apks转apk的功能吗?有些设备不支持安装apks,MT有这个功能但是要会员,并且很贵,可以支持这个功能吗?
Many issues when trying to install split apks. I downloaded https://play.google.com/store/apps/details?id=com.simplemobiletools.gallery.pro and selected all required files. Failed with many different errors. Tried root and non-root.
Is this app meant to work on version 1.18?
Hello , Dev
Firstly ,thanks for your great app
Secondly and please replace comma sympol with dots ( . ) in the exported app name format
Or at least make and option for it . because I don't like comma sympol in app names :'(
Is there a way in the app to force installation to external storage (SD card)?
Traditionally I used package manager pm install -s
in order to install an app directly into extSD. It is also possible for installing these bundle split apks? Could you please implement an option in SAI app?
Thank you!
some app no x86 library, only has armv7 library, Androidx86 enable houdini to run armv7 library app.
now, split apks no split_config.armeabi_x86.apk, only has split_config.armeabi_v7a.apk, but SAI won't install split_config.armeabi_v7a.apk for Androidx86.
Root安装器 错误:
设备: Android-x86 Pixel XL | Not MIUI | Android 7.1.2 | Using ZipApkSource ApkSource implementation
Command: pm install-commit 389848273
Exit code: 4
Out:
=============
Err:
Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]
It would be very good if the app language could be changed without changing the system language.
Edit: just noticed you released 2.1, will try that and update this post
Edit2: 2.1 shows the same results
Pixel 3 XL
Pie, August update
Canary Magisk
Using rooted method
SAI version 2.0
Photos is now a split APK. I exported a copy using this app. Noticed that it did not include a copy of base.dm (found in Photos /data/app/ folder) so wanted to see if that would be a problem when re-installing. Went into settings and "uninstalled all updates".
Next tried to install the apks file I had just exported. Got the following error:
Rooted installer error:
Device: google Pixel 3 XL | Not MIUI | Android 9 | Using SignerApkSource ApkSource implementation
Err:
Select base.apk and dynamic feature apk
Dialog
App not installed
Invalid APK files selected.
Hello , Dev
Thangs for this great app ,but the last update on fdroid v2.4 , so won't you update the fdroid build to latest one like PS and github ?
Currently, when exporting an APK file, this file name is displayed in the File Manager app (with commas).
NewPipe_0,18,5_(850)_org,shabi,newpipe_1583414036.apk
In the "Settings" there should also be the possibility to select the dot for the file name. This is how it would look like.
NewPipe_0.18.5_(850)_org.shabi.newpipe_1583414036.apk
Can you make an option that can merge all split APK to single APK?
Hi,
for some reason I can't install split APKs. It always gives me an "allocation problem". My phone is not rooted, a Samsung Galaxy J6 2018 (J600G). What should I do?
Include the app version as part of the APKs name. It looks like the current name is created based on epoch time, but no indication of the app version.
Would be great if this app was build for Android TV as well.
I must to turn off miui optimizations but I don't have it in developer options. Only I have [Notify about high-risk features].
rom: MIUI 10 9.7.11 beta
I see only source but no apk/download links of SAI.
Hello, when trying to update YouTube vanced, I find that SAi cannot be installed on my tablet.
My phone :
1.first device:
MEIZU PRO 6 Plus with Flyme 7.3.0.0A
bootloader locked, so no root
GAPPS preinstall but no google account
google app disabled on settings
2.second device:
vivo IQOO with Funtouch Os 9
bootloader locked, so no root
GAPPS preinstall but no google account
google app disabled on settings
app link :https://play.google.com/store/apps/details?id=com.playkot.ageofmagic
every time i try to install apk doesn't work and give error
Rooted installer error:
Device: lge LG-M250 | Not MIUI | Android 7.0 | Using DefaultApkSource ApkSource implementation | SAI 3.0
Command: pm install-commit 1029042391
Exit code: 7
Out:
=============
Err:
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Hello
Enclosed translation of your application in French is it possible to put it in your next update ?
How soon will there be a new update ?
Thanks
Heartily
values-fr.zip
Issue: Can't install backed up apk in both root & rootless method. SAI crashes as soon as zip selected for installation.
Android version: 10 (PixelExperience)
Build version: 2.8 (From playstore)
Stack trace: java.lang.IllegalStateException: Must Initialize Fabric before using singleton() at io.fabric.sdk.android.Fabric.singleton(Fabric.java:301) at io.fabric.sdk.android.Fabric.getKit(Fabric.java:551) at com.crashlytics.android.Crashlytics.getInstance(Crashlytics.java:191) at com.crashlytics.android.Crashlytics.checkInitialized(Crashlytics.java:390) at com.crashlytics.android.Crashlytics.log(Crashlytics.java:233) at com.aefyr.sai.utils.Logs.d(Logs.java:24) at com.aefyr.sai.utils.Logs.d(Logs.java:29) at com.aefyr.sai.installer.SAIPackageInstaller.dispatchCurrentSessionUpdate(SAIPackageInstaller.java:111) at com.aefyr.sai.installer.SAIPackageInstaller.processQueue(SAIPackageInstaller.java:88) at com.aefyr.sai.installer.SAIPackageInstaller.startInstallationSession(SAIPackageInstaller.java:73) at com.aefyr.sai.viewmodels.InstallerViewModel.installPackagesFromZip(InstallerViewModel.java:76) at com.aefyr.sai.ui.fragments.InstallerFragment.onFilesSelected(InstallerFragment.java:194) at com.aefyr.sai.ui.dialogs.FilePickerDialogFragment.lambda$onCreateDialog$0$FilePickerDialogFragment(FilePickerDialogFragment.java:98) at com.aefyr.sai.ui.dialogs.-$$Lambda$FilePickerDialogFragment$iMS6ujDR802nqbvMXbnWkhPMTWg.onSelectedFilePaths(Unknown Source:2) at com.github.angads25.filepicker.view.FilePickerDialog.finishSelection(FilePickerDialog.java:460) at com.github.angads25.filepicker.view.FilePickerDialog.access$200(FilePickerDialog.java:55) at com.github.angads25.filepicker.view.FilePickerDialog$1.onClick(FilePickerDialog.java:133) at android.view.View.performClick(View.java:7140) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:942) at android.view.View.performClickInternal(View.java:7117) at android.view.View.access$3500(View.java:801) at android.view.View$PerformClick.run(View.java:27351) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
In the "Export" section, there is no way to select several or all entries to export the APK file. For split APK only several selection function is missing.
Is there a way to open with my defined file manager app like X-plore to select apks to install?
I like X-plore better because I can select my files directly on my network drive for quick testing
In the future, can there be support for roms that are not currently supported? 😢
Samsung gt i9500
No root
The Apps(Rosetta Stone and Runtastic Results) I used before ran in Chinese,they automatically change to English after updated with SAI. No matter I use any versions of SAI or clear the data of Apps or reinstall them, they still cannot run in my system language Chinese. Even parts of Runtastic Results's functions display in both Chinese and English, that bothers me.
I need help
thx
Hello
What about translations on crowdin?
It is free for open projects.
Translating via notepad++ is pain for me...
I want to translate app to Polish.
Hi,
Can you please add SAI to the F-Droid repository ?
God bless you.
Hi.
It can be possible to add another theme "based on system"? In this way there will be no need to change the theme every time.
Thanks.
Dark mode does not just appear in Android10. In fact, it existed many years ago. Dark mode, even android2.3 devices also support it.Many users always have a way to switch the night theme to the system even below Android 10.
So I think It's better to cancel the option to show the auto theme only on Android10 and above.
The current directory picker to select the home directory starts in the internal storage, and manual editing the directory is also not possible. So it is currently not possible to select a directory on the removable storage or deeper, not even when you are root and have disabled artificial restrictions on the use of a memory card.
Would it be possible to remove this restriction? I download my apk's to removable storage but now I have to copy the split ones to internal memory first to install them.
Hi, It's not a bug, but I don't know where to ask.
I use Redmi Note 7 (64 bit support).
When I export Split Apks with SAI, default is base.apk with config.arm64-v8a.apk.
I want export with lower architecture support, ie: config.armeabi-v7a.apk.
How can do that or It's impossible?
Thanks so much
Looks like some kind of external reference to the Shizuku is missing:
https://f-droid.org/wiki/page/com.aefyr.sai.fdroid/lastbuild
I'm not entirely clear what the difference between the different installers is, and/or why this one was added. /shrug
But it does seem to be causing some issues. :(
Thanks!
Hi,
I always this error when i want to install split apks (multiple-apks, zip archive, apks file) on my device : Xiaomi Redmi Note 6 Pro "non-rooted"
The permissions "Storage" and "unknown sources" are enabled in the application manager, and "MIUI optimization" is disabled for this app.
versions tested : 1.15, 1.16, 1.17, 1.18, 1.19.
Is it possible to merge split-apks on Windows?
I'm not able to install any split apps in my Redmi Note 7S(India). I'm using MIUI 10 10.3.6.0. I'm getting the following error code when I'm trying to install any spilt apps
"Rootless installer error:
only DEFLATED entries can have EXT descriptor"
I've also disabled MIUI Optimisation in developers settings. Please help me with what to do.
Update bulgarian translation for SAI v3.3
values-bg.zip
In the "Installer" section, there is no way to select one, several or all of the entries to clear the installation history.
Description: I'm getting the error java.util.zip.ZipException: only DEFLATED entries can have EXT descriptor when trying install zip file.
Cause: ZipInputStream throws a ZipException (with message "only DEFLATED entries can have EXT descriptor") when there is a zero-length entry and the compression method is not set to DEFLATE.
Solution: https://stackoverflow.com/questions/47208272/android-zipinputstream-only-deflated-entries-can-have-ext-descriptor
Sample file: Netflix_v7.48.0 build 10 34747.zip
I hope this problem is resolved as soon as possible.
APKMirror is now allowing app bundles, however they are in proprietary .apkm format and can only be installed via the official installer. It doesn't seem to be a regular ZIP file. Would be great if SAI would be able to support it somehow.
Update bulgarian translation
values-bg.zip
Hi!
Would it be possible to add a feature to upload non-splits to APKMirror? Once they figure out how they want to receive splits, it would be nice to be able to upload them from the app.
Have a nice day!
I got this error when trying to install an app: rhs == null. Help?
It works fine on my android pie device but not on my android 7.0 tablet
use adb install-multiple command to install split apk failed, also use SAI to install failed.
Any solution?
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.en.apk split_config.xxhdpi.apk split_config.zh.apk split_df_fusing.apk
adb: failed to finalize session
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
log2.txt
Hello,
After a few tries isnt working. Already tried all flags from develop screen, having said that, now in Miui 11 there is no "MIUI Optimization" anymore :(
Attached log, ofc seems API mod issues...
Play says it is not compatible with 4.4.2 device.
Is it?
Rooted installer error:
Device: Xiaomi Redmi Note 5 | Not MIUI | Android 9 | Using DefaultApkSource ApkSource implementation
Command: pm install-write -S 0 1429083372 "com.revolut.revolut.505100021.apk"
Exit code: 1
Out:
=============
Err:
Error: must specify a APK size
netflix-7.30.0-b10-34524_20191009.zip
netflix-7.30.0-b10-34524_20191009.zip
and push [Select (1)]Rooted installer error:
Device: google Pixel 3 XL | Not MIUI | Android 10 | Using ZipApkSource ApkSource implementation | SAI 2.8
java.lang.RuntimeException: Command: pm install-write -S -1 508953431 0.apk
Exit code: -1
Out:
=============
Err:
Error: must specify a APK size
<!> SAI SuShell Java exception: java.io.IOException: write failed: EPIPE (Broken pipe)
at libcore.io.IoBridge.write(IoBridge.java:544)
at java.io.FileOutputStream.write(FileOutputStream.java:392)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126)
at com.aefyr.sai.utils.IOUtils.copyStream(IOUtils.java:25)
at com.aefyr.sai.shell.SuShell.execInternal(SuShell.java:73)
at com.aefyr.sai.shell.SuShell.exec(SuShell.java:50)
at com.aefyr.sai.installer.ShellSAIPackageInstaller.installApkFiles(ShellSAIPackageInstaller.java:82)
at com.aefyr.sai.installer.SAIPackageInstaller.lambda$processQueue$0$SAIPackageInstaller(SAIPackageInstaller.java:90)
at com.aefyr.sai.installer.-$$Lambda$SAIPackageInstaller$6hKMtxaB1Yqc0HYKOE26UUOnkTo.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Suppressed: java.io.IOException: Stream closed
at java.lang.ProcessBuilder$NullOutputStream.write(ProcessBuilder.java:433)
at java.io.OutputStream.write(OutputStream.java:116)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at com.aefyr.sai.shell.SuShell.execInternal(SuShell.java:74)
... 7 more
Caused by: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
at libcore.io.Linux.writeBytes(Native Method)
at libcore.io.Linux.write(Linux.java:294)
at libcore.io.ForwardingOs.write(ForwardingOs.java:241)
at libcore.io.BlockGuardOs.write(BlockGuardOs.java:416)
at libcore.io.ForwardingOs.write(ForwardingOs.java:241)
at libcore.io.IoBridge.write(IoBridge.java:539)
... 12 more
at com.aefyr.sai.installer.ShellSAIPackageInstaller.ensureCommandSucceeded(ShellSAIPackageInstaller.java:100)
at com.aefyr.sai.installer.ShellSAIPackageInstaller.installApkFiles(ShellSAIPackageInstaller.java:82)
at com.aefyr.sai.installer.SAIPackageInstaller.lambda$processQueue$0$SAIPackageInstaller(SAIPackageInstaller.java:90)
at com.aefyr.sai.installer.-$$Lambda$SAIPackageInstaller$6hKMtxaB1Yqc0HYKOE26UUOnkTo.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
It would be nice to be able to select multiple (or all) found split APKs for export.
Right now I'm getting ready to do a clean install moving to Q and am exporting all the split apps, since Titanium doesn't handle them correctly (I can still use Titanium for data restores though).
It would have been helpful to easily export all the APKs instead of individually clicking through 35 entries.
My device does not support split app. But Google Play can load them. Maybe I can work to Sai with the ADB? No way there is a without root? Sorry for my English.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.