youtubedl-android icon indicating copy to clipboard operation
youtubedl-android copied to clipboard

youtubedl cant be get initialized and the app is crashed.

Open clonedSemicolon opened this issue 2 years ago • 7 comments

While initializing the youtubedl the following error is generated:

java.lang.RuntimeException: Unable to create application acr.browser.lightning.BrowserApp: com.yausername.youtubedl_android.YoutubeDLException: failed to initialize
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6980)
	at android.app.ActivityThread.access$1500(ActivityThread.java:257)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1982)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:236)
	at android.app.ActivityThread.main(ActivityThread.java:8037)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Caused by: com.yausername.youtubedl_android.YoutubeDLException: failed to initialize
	at com.yausername.youtubedl_android.YoutubeDL.initPython(Unknown Source:50)
	at com.yausername.youtubedl_android.YoutubeDL.init(Unknown Source:169)
	at acr.browser.lightning.BrowserApp.onCreate(:12)
	at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1193)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6975)
	... 8 more
Caused by: java.io.FileNotFoundException: /data/app/~~5f9-GnrSmv6xt4B0lJnz_Q==/inverseai.downloader.videodownloader-ndkpoSlhJutoe5vW820BBQ==/lib/arm64/libpython.zip.so: open failed: ENOENT (No such file or directory)
	at [libcore.io](http://libcore.io/).IoBridge.open(IoBridge.java:492)
	at [java.io](http://java.io/).RandomAccessFile.<init>(RandomAccessFile.java:289)
	at n.a.a.a.a.c.j0.<init>(:1)
	at com.yausername.youtubedl_common.utils.ZipUtils.unzip(Unknown Source:2)
	at com.yausername.youtubedl_android.YoutubeDL.initPython(Unknown Source:35)
	... 12 `more`
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
	at [libcore.io](http://libcore.io/).Linux.open(Native Method)
	at [libcore.io](http://libcore.io/).ForwardingOs.open(ForwardingOs.java:166)
	at [libcore.io](http://libcore.io/).BlockGuardOs.open(BlockGuardOs.java:254)
	at [libcore.io](http://libcore.io/).ForwardingOs.open(ForwardingOs.java:166)
	at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7911)
	at [libcore.io](http://libcore.io/).IoBridge.open(IoBridge.java:478)

Tried the solutions below:

  • Latest version initialized
  • adding abiFilters "arm64-v8a", "armeabi-v7a", "armeabi", "mips" in the filters
  • android:extractNativeLibs="true" under the

clonedSemicolon avatar Mar 14 '22 11:03 clonedSemicolon

This library is broken on Android 11. Google changed storage APIs, so unfortunately the way this app goes to implement YoutubeDL-support via a shell solution NO LONGER WORKS.

Look for another project to start off, the dream of using YoutubeDL on android just died. As all private open source projects... due to a lack of maintenance.

EDIT: My point still stands, but I'll excuse myself for the rant. This app is still in active development, so I probably shouldn't blame its devs for not caring about the project anymore.

GhostInTheSteiner avatar May 23 '22 18:05 GhostInTheSteiner

@clonedSemicolon sorry for the late response but were you testing on an x86 based emulator by any chance? And what was the targetSdkVersion ?

yausername avatar May 24 '22 13:05 yausername

I'm only able to speak for my own app, but I got the same error using those specs:

image

I had all three variables set to API-Level 31

image

I already changed some stuff on my Composition Compass app to make it (at least) work with 29 and didn't push the problematic state, otherwise I would have linked you the commit.

I should probably mention it works without issues inside the emulator as long as I keep the API level (all three variables) at 29, and use the old permission-requests in my manifest and in my onCreate().

GhostInTheSteiner avatar May 24 '22 13:05 GhostInTheSteiner

Thanks for the information. This might get fixed by changing the code which unzips the file (maybe copying the file to a temp location before unzipping) https://github.com/yausername/youtubedl-android/blob/a41cfdfc6952e8af13c424556292ea017f4a0706/library/src/main/java/com/yausername/youtubedl_android/YoutubeDL.java#L100 Unfortunately I don't have time to fix or test these right now.

yausername avatar May 24 '22 20:05 yausername

As a hotfix you can add flag android.bundle.enableUncompressedNativeLibs=false in gradle.properties.

al-tush avatar Aug 02 '22 13:08 al-tush

As a hotfix you can add flag android.bundle.enableUncompressedNativeLibs=false in gradle.properties.

Thank you. This fixed the issue and lead to another message saying it's deprecated now. You can add this to build.gradle instead:

android { packagingOptions { jniLibs { useLegacyPackaging = true } } }

tashilapathum avatar Jan 12 '23 05:01 tashilapathum

As a hotfix you can add flag android.bundle.enableUncompressedNativeLibs=false in gradle.properties.

Thank you. This fixed the issue and lead to another message saying it's deprecated now. You can add this to build.gradle instead:

android { packagingOptions { jniLibs { useLegacyPackaging = true } } }

👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍

jialechan avatar Oct 09 '23 12:10 jialechan