Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After adding the library, my .apk file increased by about 70mb. #16

Closed
pranishres opened this issue Oct 8, 2020 · 25 comments
Closed

After adding the library, my .apk file increased by about 70mb. #16

pranishres opened this issue Oct 8, 2020 · 25 comments
Labels

Comments

@pranishres
Copy link

No description provided.

@a914-gowtham
Copy link
Owner

a914-gowtham commented Oct 8, 2020

Add these snippets build.gradle(app level) inside the android tag.And use Android App bundle It will make huge difference in size

sourceSets.main {
        assets.srcDirs = ['assets']
        jni.srcDirs = [] //disable automatic ndk-build
        jniLibs.srcDirs = ['libs']
    }

    sourceSets {
        main {
            assets.srcDirs = ['src/main/assets', 'src/main/assets/']
            res.srcDirs = ['src/main/res', 'src/main/res/drawable']
        }
    }

@pranishres
Copy link
Author

Add these snippets build.gradle(app level) inside the android tag

sourceSets.main { assets.srcDirs = ['assets'] jni.srcDirs = [] //disable automatic ndk-build jniLibs.srcDirs = ['libs'] }

sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] res.srcDirs = ['src/main/res', 'src/main/res/drawable'] } }

And use Android bundle.It will make huge difference in size

I just can't copy/paste these lines. Gives me this error

No signature of method: java.util.ArrayList.call() is applicable for argument types: (ArrayList) values: [[src/main/res, src/main/res/drawable]]
Possible solutions: tail(), tail(), wait(), last(), tails(), max()

@a914-gowtham
Copy link
Owner

Check this code

@pranishres
Copy link
Author

Check this code

Thank you. I used it but still, my .aab release file is 50mb. Will the size decrease if I don't use compression and remove those codes? I just want to crop the video for 15 secs.

@a914-gowtham
Copy link
Owner

a914-gowtham commented Oct 8, 2020

Don't consider the app bundle size. It doesn't decide the app size. If you want find the Apk size,you could upload your app bundle in Internal testing in Play console and check the size for every device or else Use can also use BundleTool for get Specific Apk for your device

@pranishres
Copy link
Author

Don't consider the app bundle size. It doesn't decide the app size. If you want find the Apk size,you could upload your app bundle in Internal testing in Play console and check the size for every device or else Use can also use BundleTool for get Specific Apk for your device

So I just want to know is there any way I can reduce the size of the library? Because yours is the best one I found.

@a914-gowtham
Copy link
Owner

a914-gowtham commented Oct 8, 2020

Sorry..there is no way besides Using this

@pranishres
Copy link
Author

Sorry..there is no way besides Using this

Using this still my apk size increased from 20Mb to 50 Mb. So what can I do. Its not feasible to accept more than doubled the apk size for a video cropper.

@a914-gowtham a914-gowtham reopened this Oct 12, 2020
@a914-gowtham
Copy link
Owner

It would be less than 20Mb,when you use app bundle and that snippet.I don't know what were wrong.I will check and get back to you asap

@pranishres
Copy link
Author

It would be less than 20Mb,when you use app bundle and that snippet.I don't know what were wrong.I will check and get back to you asap

Thank you

@pranishres
Copy link
Author

Please let me know if there are any updates from your side on this. After adding the library, my .aab increased from 17MB to 50MB.

@a914-gowtham
Copy link
Owner

a914-gowtham commented Oct 14, 2020

Have you tried to publish your app bundle on Internal track testing and did you see the app size from App bundle explorer

@pranishres
Copy link
Author

Have you tried to publish your app bundle on Internal track testing and did you see the app size from App bundle explorer

I couldn't even upload the .aab to the play store after including the library.

@a914-gowtham
Copy link
Owner

Really sorry for the inconvenience.I'm going to test an app to publish

@pranishres
Copy link
Author

Really sorry for the inconvenience.I'm going to test an app to publish

thank you for your active support

@pranishres
Copy link
Author

Really sorry for the inconvenience.I'm going to test an app to publish

I just downgraded my version from 1.4.0 to 1.3.0 which helped me reduce the application size by 20mb. But still its a huge app size.

@a914-gowtham
Copy link
Owner

Yeah I used EpMedia library for ffmpeg in 1.3.0.That's is small is size however,It doesn't work in few devices.that's why i moved to mobile-ffmpeg

@a914-gowtham
Copy link
Owner

a914-gowtham commented Oct 15, 2020

Check this Demo app .You might get a warning about native crash report while trying to upload the app.Just ignore that

@pranishres
Copy link
Author

Check this Demo app .You might get a warning about native crash report while trying to upload the app.Just ignore that

Thank you so much for your support. My release .apk and aab were about 87 MB and 55 MB respectively. But while downloading from playstore, it was just 22 MB.

@braver-tool
Copy link

I added the below lines in my app-level build. gradle file

defaultConfig { ........ ndk { abiFilters "arm64-v8a","x86_64" }

which means, app is not containing 32bit libraries, Is that correct or not? to reduce apk file size. Please give your reply..! Thanks in advance ...);-

@a914-gowtham
Copy link
Owner

yes , that code is correct. but, mobile-ffmpeg is being used as a maven dependency so, it might not work. however, this library has an issue with release builds. so, you better refer this repo i have used mobile-ffmpeg as aar dependency for the release build issue workaround, and you can use abiFilters while using that aar

@braver-tool
Copy link

Thanks for your response..! I added aar file as you said, and also i removed abiFilters in build.gradle file. Because i tested with above abiFilters, Some devices not supporting "arm64-v8a,x86_64" archs. They only supports "armeabi-v7a,x86,armeabi" archs. So facing apk file size problem. My release build increased 30 MB than before. Any better solution to reduce apk file size?

apk_analyzer

@a914-gowtham
Copy link
Owner

just use android app bundle to reduce the size

@a914-gowtham a914-gowtham pinned this issue Mar 29, 2021
@DoozyDoz
Copy link

DoozyDoz commented Aug 1, 2022

Faced the issue before, the only working solution is to compile different builds of FFmpeg for specific target functionality and codecs. for a user that only uses trimming part of the library the size should be small, for example for a user that simply extracts audio from video the library size should be south of 3MBs

@a914-gowtham a914-gowtham reopened this Aug 16, 2023
@a914-gowtham
Copy link
Owner

a914-gowtham commented Aug 16, 2023

yes @DoozyDoz , that is a great idea. i need to get familiar with ffmpeg libraries. i will try this sometime.

if you can afford, it is good to move the video processing to backend. i believe whatsapp, telegram does the same.

imgsrc: yt/neetcode
Screenshot from 2023-08-16 11-05-09

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants