tonyofrancis / Fetch

The best file downloader library for Android
https://www.meta.stackoverflow.com/tags/fetch2
Apache License 2.0
1.62k stars 325 forks source link

Please adapt for Android 14 #660

Open kanglongba opened 11 months ago

kanglongba commented 11 months ago

Please adapt for Android 14. The framework dynamically registers a broadcast that needs to be adapted to the security policies of Android 14.

VikasTiwari199915 commented 11 months ago

I am also facing the same issue, Here's the exception : java.lang.SecurityException : com.my.packagename : One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts

barantes commented 7 months ago

My app also depends on Fetch and requires this update to adapt to Android 14.

Here's a reference of what change we're talking about: https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported

Thanks.

ShayShimoni commented 7 months ago

I'm also facing the same issue. Please update it🙏🏽

helloimfrog commented 6 months ago

Hey, I made it work with android 14 and upgrade all dependencies to latest version. You guys can try with https://github.com/tonyofrancis/Fetch/pull/665

amrashraf1992 commented 6 months ago

Hey, I made it work with android 14 and upgrade all dependencies to latest version. You guys can try with #665

How to use that one man?

Kutikov commented 6 months ago

Try it out: new prereleases using the code of @helloimfrog from pull request #665

Please give me any feedback!

https://github.com/Kutikov/fetch2-android/releases/tag/3.2.1-android14

Kutikov commented 6 months ago

@amrashraf1992 , @ShayShimoni , @barantes , @VikasTiwari199915 , @kanglongba and everyone who wants to test by himself LASTEST VERSION download prebuild *.aar.

Give me any feedback, please!

ShayShimoni commented 6 months ago

@Kutikov Hello thank you for the update. I've tried to add the lib with implementation "androidx.tonyodev.fetch2:xfetch2:3.2.2" but it doesn't find it nor 3.2.1, How can i import this lib you updated to Android 14 through a dependency?

Kutikov commented 6 months ago

@ShayShimoni , you can use prebuild .aar on link in prevoius comment. I'm sorry to not loading them to maven, for now I don't have enough knowledge to do this for fetch project. If someone can help me, let me know!

kesha-antonov commented 6 months ago

We can use https://developer.android.com/reference/android/app/DownloadManager as an alternative. I migrated my code to it https://github.com/kesha-antonov/react-native-background-downloader/blob/3.0.0/android/src/main/java/com/eko/RNBackgroundDownloaderModule.java

And it works quite well!

ShayShimoni commented 6 months ago

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

kesha-antonov commented 6 months ago

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

It doesn't have option to pause/resume as I saw. But it depends on your use case. You enqueue download, app can be stopped and later after you reopen you continue download file not from zero bytes but where it stopped.

abbas7777 commented 5 months ago

you can use this dependency for android 14

implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta07"

MdAbubakar commented 3 months ago

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

It doesn't have option to pause/resume as I saw. But it depends on your use case. You enqueue download, app can be stopped and later after you reopen you continue download file not from zero bytes but where it stopped.

Thanks to see you here, as I tried to use your "@kesha-antonov/react-native-background-downloader" package and It's working fine in android 14 as well but there's no pause and resume option and I really need it so I used the old "react-native-background-downloader" package which is using Fetch library to download the contents in android and is giving the pause and resume option but that was not working in android 14 so I used this, 'implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02"' library and it fixed my problem so can you please update your library

Thanks in advance

fabiendem commented 2 months ago

@abbas7777 Can you share a link to the fork/repository as well please?

LeoRudra commented 2 months ago

@Kutikov can you please upload the prebuild aar files , with the proguard customized ?

Problems occuring : can't see the public classes of the libraries and javadoc is removed .

Here are some rules that you can add : -keep public class { ; } -keepattributes SourceFile,LineNumberTable, Annotation

abbas7777 commented 2 months ago

@fabiendem hello hear you are... https://github.com/abbas7777/fetch2-android14

rovedashcam commented 2 weeks ago

Yes Same for me today i update version its started gave error

rovedashcam commented 2 weeks ago

Try it out: new prereleases using the code of @helloimfrog from pull request #665

Please give me any feedback!

https://github.com/Kutikov/fetch2-android/releases/tag/3.2.1-android14

I am getting Error when i try to implementation "androidx.tonyodev.fetch2:xfetch2:3.2.1" its telling can not find

rovedashcam commented 2 weeks ago

com.github.abbas7777:fetch2-android14:3.2.0-beta02

java.lang.IllegalArgumentException: Unsupported class file major version 61. getting this error when i implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02" any solution?

abbas7777 commented 2 weeks ago

com.github.abbas7777:fetch2-android14:3.2.0-beta02

java.lang.IllegalArgumentException: Unsupported class file major version 61. getting this error when i implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02" any solution?

you can use com.github.abbas7777:fetch2-android14:3.2.0-beta07

rovedashcam commented 2 weeks ago

com.github.abbas7777:fetch2-android14:3.2.0-beta07

Screenshot 2024-06-19 at 11 12 18 PM

still ai am getting same error can you please help me if i am doing some thing wrong

abbas7777 commented 2 weeks ago

com.github.abbas7777:fetch2-android14:3.2.0-beta07

Screenshot 2024-06-19 at 11 12 18 PM still ai am getting same error can you please help me if i am doing some thing wrong

You need to have the Java version which is compatible with your Gradle version, and configure Gradle to use exactly that version

rovedashcam commented 2 weeks ago

Can you please tell me which java version we need to set? currently we i am using 11.0.19

abbas7777 commented 2 weeks ago

Can you please tell me which java version we need to set? currently we i am using 11.0.19

You must use 17 and also update gradle version to compatible with this

rovedashcam commented 1 week ago

can you tell me gradle version ? so you mean it will not support java 11.0.19 if we will target android 34