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

[For Android 6 Users] How to make YTDLnis usable #639

Closed
deniscerri opened this issue Nov 23, 2024 · 6 comments
Closed

[For Android 6 Users] How to make YTDLnis usable #639

deniscerri opened this issue Nov 23, 2024 · 6 comments
Labels
documentation Improvements or additions to documentation

Comments

@deniscerri
Copy link
Owner

deniscerri commented Nov 23, 2024

Since 1.8.0, Android 6 support has been dropped. This is due to yt-dlp dropping support for python version 3.8 which is the last python version android 6 can handle. Still yt-dlp can be usable for the time being even though it dropped support, so android 6 users can follow this guide to keep YTDLnis usable on their phones:

  • Download the 1.7.9.2 APK
  • Turn off internet on your phone
  • Install the APK
  • Launch ytdlnis and disable auto-updates for yt-dlp (Settings > Updating > Auto-Update yt-dlp)
  • Turn internet back on
  • Go to the built-in terminal in ytdlnis and run yt-dlp -U. This will use yt-dlp's built in updater and not the one from youtubedl-android. yt-dlp uses a lock file format to prevent updating past an incompatible python version.

Now you should have ytdlnis v1.7.9.2 with yt-dlp 2024.10.22 installed

Long term, youtubedl-android should probably be updated to either just use the built-in yt-dlp updater or support the lock file format yt-dlp uses.

Originally posted by @seproDev in #633 (comment)

@deniscerri deniscerri added the bug Something isn't working label Nov 23, 2024
@deniscerri deniscerri changed the title [For Android 6 Users] How to use YTDLnis [For Android 6 Users] How to make YTDLnis usable Nov 23, 2024
@deniscerri deniscerri added documentation Improvements or additions to documentation and removed bug Something isn't working labels Nov 23, 2024
@deniscerri deniscerri pinned this issue Nov 23, 2024
@highbaser
Copy link

highbaser commented Nov 29, 2024

Doesn't work on Android 6.0, at least on armeabi-v7. yt-dlp won't even launch after the fresh install of YTDLnis.

Traceback (most recent call last):
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/__main__.py", line 14, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/__init__.py", line 18, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/cookies.py", line 18, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/aes.py", line 5, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/dependencies/__init__.py", line 69, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/dependencies/Cryptodome.py", line 17, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/__init__.py", line 28, in <module>
    from Cryptodome.Cipher._mode_cbc import _create_cbc_cipher
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/_mode_cbc.py", line 45, in <module>
    raw_cbc_lib = load_pycryptodome_raw_lib("Cryptodome.Cipher._raw_cbc", """
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Util/_raw_api.py", line 309, in load_pycryptodome_raw_lib
    raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts)))
OSError: Cannot load native module 'Cryptodome.Cipher._raw_cbc': Not found '_raw_cbc.cpython-38.so', Cannot load '_raw_cbc.abi3.so': dlopen failed: cannot locate symbol "__aeabi_memcpy4" referenced by "/data/data/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/_raw_cbc.abi3.so"..., Not found '_raw_cbc.so'```

There should be at least a working copy of yt-dlp to be able to update self but there isn't any.

@deniscerri Why can't you just release an 1.7.9.3 which has the last Python38-compatible and working yt-dlp bundled in or can download [email protected]? Would be much more simple for everyone.

@ShareASmile
Copy link
Contributor

release an 1.7.9.3 which has the last Python38-compatible and working yt-dlp bundled in or can download [email protected]

Yes, Please.

@error-reporting
Copy link

Doesn't work on Android 6.0, at least on armeabi-v7. yt-dlp won't even launch after the fresh install of YTDLnis.

Traceback (most recent call last):
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/__main__.py", line 14, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/__init__.py", line 18, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/cookies.py", line 18, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/aes.py", line 5, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/dependencies/__init__.py", line 69, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/yt-dlp/yt-dlp/yt_dlp/dependencies/Cryptodome.py", line 17, in <module>
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/__init__.py", line 28, in <module>
    from Cryptodome.Cipher._mode_cbc import _create_cbc_cipher
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/_mode_cbc.py", line 45, in <module>
    raw_cbc_lib = load_pycryptodome_raw_lib("Cryptodome.Cipher._raw_cbc", """
  File "/data/user/0/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Util/_raw_api.py", line 309, in load_pycryptodome_raw_lib
    raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts)))
OSError: Cannot load native module 'Cryptodome.Cipher._raw_cbc': Not found '_raw_cbc.cpython-38.so', Cannot load '_raw_cbc.abi3.so': dlopen failed: cannot locate symbol "__aeabi_memcpy4" referenced by "/data/data/com.deniscerri.ytdl/no_backup/youtubedl-android/packages/python/usr/lib/python3.8/site-packages/Cryptodome/Cipher/_raw_cbc.abi3.so"..., Not found '_raw_cbc.so'```

There should be at least a working copy of yt-dlp to be able to update self but there isn't any.

@deniscerri Why can't you just release an 1.7.9.3 which has the last Python38-compatible and working yt-dlp bundled in or can download [email protected]? Would be much more simple for everyone.

that's not yt-dlp launch issue rather that is cryptodomex launch issue because of old android version such as android 6.x

@deniscerri
Copy link
Owner Author

As @error-reporting said this has nothing to do with yt-dlp but other support libraries not working. This is a known error on some android 6 devices since it doesnt support cryptodome.

@highbaser
Copy link

@deniscerri Is there an older version of cryptodome that would be functional on these devices?

@deniscerri
Copy link
Owner Author

There was a period where there was no cryptodome but that was a long time ago and the old versions of the library are not really accessible to fetch.

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

No branches or pull requests

4 participants