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

Please adapt for Android 14 #660

Open
kanglongba opened this issue Jul 14, 2023 · 34 comments
Open

Please adapt for Android 14 #660

kanglongba opened this issue Jul 14, 2023 · 34 comments

Comments

@kanglongba
Copy link

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

@VikasTiwari199915
Copy link

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
Copy link

barantes commented Nov 13, 2023

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
Copy link

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

@helloimfrog
Copy link

helloimfrog commented Dec 11, 2023

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

@amrashraf1992
Copy link

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
Copy link
Contributor

Kutikov commented Dec 12, 2023

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
Copy link
Contributor

Kutikov commented Dec 13, 2023

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

Give me any feedback, please!

@ShayShimoni
Copy link

ShayShimoni commented Dec 25, 2023

@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
Copy link
Contributor

Kutikov commented Dec 25, 2023

@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
Copy link

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
Copy link

@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
Copy link

@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
Copy link

abbas7777 commented Jan 31, 2024

you can use this dependency for android 14

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

@MdAbubakar
Copy link

@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
Copy link

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

@LeoRudra
Copy link

LeoRudra commented May 5, 2024

@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
Copy link

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

@rovedashcam
Copy link

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

@rovedashcam
Copy link

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
Copy link

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
Copy link

abbas7777 commented Jun 19, 2024

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
Copy link

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
Copy link

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
Copy link

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

@abbas7777
Copy link

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
Copy link

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

@Verdurakh
Copy link

using com.github.abbas7777:fetch2-android14:3.2.0-beta07 worked but it would be great to have this included in the original package

@nosko
Copy link

nosko commented Jul 18, 2024

Hello guys, please, I noticed a comment somewhere (cannot find it anymore) saying there is a delay before the actual download starts on <34,..) devices . When I use "com.github.abbas7777:fetch2-android14:3.2.0-beta07" it works fine, but once I build lib locally
./gradlew build
using generated (debug/release) aar I also observe that 15-20s delay. Do you know why? I'm building branches
v3.0x and v3x-develop. Both should contain all necessary changes, but the outcome is the same 20s delay with local aar.
@abbas7777 you work contains also some additional fixes different from those branches? @Kutikov maybe have you observed this behaviour as well please?

@Kutikov
Copy link
Contributor

Kutikov commented Jul 18, 2024

Hello guys, please, I noticed a comment somewhere (cannot find it anymore) saying there is a delay before the actual download starts on <34,..) devices . When I use "com.github.abbas7777:fetch2-android14:3.2.0-beta07" it works fine, but once I build lib locally
./gradlew build
using generated (debug/release) aar I also observe that 15-20s delay. Do you know why? I'm building branches
v3.0x and v3x-develop. Both should contain all necessary changes, but the outcome is the same 20s delay with local aar.
@abbas7777 you work contains also some additional fixes different from those branches? @Kutikov maybe have you observed this behaviour as well please?

No, but I use my own aars, so maybe some fixes from @abbas7777 or mine fixes helps to prevent any build lag

@tonyofrancis
Copy link
Owner

Fetch 3.3.0 has been released. See Release Notes

@nosko
Copy link

nosko commented Sep 18, 2024

@tonyofrancis Hello, I updated to the official latest 3.3.0 version and was curious about that delay, but it still takes like 15 seconds until the download process starts. There is nothing particular/suspicious in logcat, I also see people commenting similar issues. Any idea why is this happening? A14, target = compile = 34, minSdk = 33

@MdAbubakar
Copy link

@tonyofrancis Hello, I updated to the official latest 3.3.0 version and was curious about that delay, but it still takes like 15 seconds until the download process starts. There is nothing particular/suspicious in logcat, I also see people commenting similar issues. Any idea why is this happening? A14, target = compile = 34, minSdk = 33

@tonyofrancis Hello, I'm getting the same error which @nosko mentioned in android 14 we are getting the download start delay and some times the download doesn't even start also.

@listvin
Copy link

listvin commented Dec 2, 2024

Just a notice for those who ended up here hoping switch to stock DownloadManager will solve all their problems: don't.

This is last resort. It may solve some issues, it'll bring a lot more. It's a complete blackbox full of it's own legacy, not consistent across different OS versions, vendor flavors and also there are "powerusers", happened to disable it as a bloatware. Libraries like this are a blessing, better invest your time in helping fixing it.

Only viable use case for DM -- if your user is highly motivated to get a huge file for themselves (in particular your app's runtime is not dependent on it). But at this point also consider giving user a direct link and offload these shenanigans to whatever Chromium they use.

@tonyofrancis
Copy link
Owner

Latest version 3.4.0 has been release. Please test it out and let me know if this has resolved the issue. Thanks

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

No branches or pull requests