{"id":353295,"date":"2024-05-20T22:25:08","date_gmt":"2024-05-20T22:25:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=353295"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-20T22:25:08","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=353295","title":{"rendered":"<span>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c IDEA \u0438 CLion \u043d\u0430 Android<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 Android \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430\u0445 \u0438 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e &#8212; \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0435 CPU \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u042d\u0442\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u0430\u0436\u0435 \u0442\u0430\u043a\u0438\u0445 \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043a\u0430\u043a IDEA \u0438 CLion. \u0418 \u0441\u0435\u0439\u0447\u0430\u0441 \u044f \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/19c\/41f\/1b4\/19c41f1b4efc208ed3e9d3443a1b7c89.jpg\" alt=\"CLion 2023.2\" title=\"CLion 2023.2\" width=\"1835\" height=\"1867\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/19c\/41f\/1b4\/19c41f1b4efc208ed3e9d3443a1b7c89.jpg\" data-blurred=\"true\"\/><\/p>\n<div><figcaption>CLion 2023.2<\/figcaption><\/div>\n<\/figure>\n<h2>Termux<\/h2>\n<p>\u041d\u0430\u00a0Android \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c Linux\u2011like \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/github.com\/termux\/termux-app\" rel=\"noopener noreferrer nofollow\">Termux<\/a>. \u041d\u0430\u00a0\u0445\u0430\u0431\u0440\u0435 \u0443\u0436\u0435\u00a0\u0431\u044b\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e\u00a0\u043d\u0435\u0433\u043e:<\/p>\n<p><a href=\"https:\/\/habr.com\/en\/articles\/652633\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 Termux<\/u><\/a><u>,<br \/><\/u><a href=\"https:\/\/habr.com\/en\/articles\/444950\/\" rel=\"noopener noreferrer nofollow\"><u>Termux \u0448\u0430\u0433 \u0437\u0430\u00a0\u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 1)<\/u><\/a><u><br \/><\/u><a href=\"https:\/\/habr.com\/en\/articles\/445868\/\" rel=\"noopener noreferrer nofollow\"><u>Termux \u0448\u0430\u0433 \u0437\u0430\u00a0\u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 2)<\/u><\/a><u><br \/><\/u><a href=\"https:\/\/habr.com\/en\/companies\/sportmaster_lab\/articles\/683242\/\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430\u00a0Android \u0432\u00a0\u0432\u0435\u0431\u2011\u0441\u0435\u0440\u0432\u0435\u0440<\/u><\/a>  <\/p>\n<p>\u041d\u043e\u00a0\u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0432\u00a0Termux \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u00a0\u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u0410\u00a0\u0432\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c, \u043a\u0430\u043a\u00a0\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 IDE\u00a0\u2014 IDEA \u0438 CLion\u00a0\u2014 \u0441\u00a0\u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c UI \u043d\u0430\u00a0Android.<\/p>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Samsung Galaxy Tab S6\u00a0(SM\u2011T860\/SM\u2011T865) \u0441\u00a0\u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u044e 10.5\u00bb.<\/p>\n<p><a href=\"https:\/\/www.mobile-review.com\/articles\/2019\/samsung-galaxy-tab-s6.shtml\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u0442\u0430\u0442\u044c\u044f \u0432\u00a0Mobile review \u043e\u00a0\u043d\u0451\u043c<\/u><\/a><\/p>\n<p>\u0421\u00a0\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 Bluetooth \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439 (\u043d\u0435 \u0440\u043e\u0434\u043d\u043e\u0439) \u0441\u00a0\u0442\u0430\u0447\u043f\u0430\u0434\u043e\u043c\u00a0\u2014 <a href=\"https:\/\/www.amazon.de\/-\/en\/Bluetooth-Keyboard-Touchpad-Portable-Universal\/dp\/B08FWV1SYK\" rel=\"noopener noreferrer nofollow\"><u>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430\u00a0Amazon<\/u><\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 apk. \u0412\u0437\u044f\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0437 Actions \u0434\u043b\u044f \u0432\u0435\u0442\u043a\u0438 master\u00a0<a href=\"https:\/\/github.com\/termux\/termux-app\/actions\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-app\/actions<\/u><\/a><\/p>\n<p>\u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044d\u0442\u043e\u00a0<a href=\"https:\/\/github.com\/termux\/termux-app\/actions\/runs\/5932694275\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-app\/actions\/runs\/5932694275<\/u><\/a><\/p>\n<p>\u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Android \u043d\u0443\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c apk \u0432\u0435\u0440\u0441\u0438\u0438 7 (<strong>-android-7-<\/strong>) &#8212; \u0432 5-\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<p>\u0414\u043b\u044f \u043c\u043e\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 termux-app_v0.118.0+eef5ac4-apt-android-7-github-debug_<strong>arm64-v8a<\/strong><\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e &#8212; \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c zip \u0430\u0440\u0445\u0438\u0432 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\/\u043f\u043b\u0430\u043d\u0448\u0435\u0442, \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c, \u0441\u0442\u0430\u0432\u0438\u043c apk \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b &#8212; ssh, java, gcc, etc\u2026\u200b<\/p>\n<pre><code class=\"bash\">#\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443 $ termux-setup-storage #\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 $ pkg upgrade #\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f gcc $ pkg install tur-repo #\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f x11 $ pkg install x11-repo #openssh - \u0434\u043b\u044f remote connection #openjdk-17 - java #autoconf, automake, libtool, libffi-static, gcc-13 - \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 #termux-x11-nightly, tigervnc, fluxbox - \u0434\u043b\u044f UI #git, rust, gdb - \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 #proot-distro - \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b IDE $ pkg install openssh openjdk-17 autoconf automake libtool libffi-static gcc-13 termux-x11-nightly tigervnc git rust gdb proot-distro<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c SSH (\u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0448\u0435, \u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d) \u043d\u0430 Termux \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f &#8212; \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0435.<br \/>\u041d\u0430 Termux Wiki \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0442\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:\u00a0<a href=\"https:\/\/wiki.termux.com\/wiki\/Remote_Access\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Remote_Access<\/u><\/a><\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c ssh:<\/p>\n<pre><code class=\"bash\">$ passwd #\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c New password: Retype new password: New password was successfully set. $ sshd #\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c ssh daemon<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 Putty \u043f\u043e \u043f\u043e\u0440\u0442\u0443 8022.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/95d\/96a\/431\/95d96a431ca2842ed0f4097ea5dbb927.png\" alt=\"Putty \u0438 Termux\" title=\"Putty \u0438 Termux\" width=\"661\" height=\"418\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/95d\/96a\/431\/95d96a431ca2842ed0f4097ea5dbb927.png\"\/><\/p>\n<div><figcaption>Putty \u0438 Termux<\/figcaption><\/div>\n<\/figure>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c IDE &#8212; sqlite \u0438 VNC<\/h3>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c &#8212; \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0435\u0439 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0439 IDE (IDEA\/CLion) &#8212; 2023.2.x. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e Java \u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 2023.1.5 &#8212; \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u0447\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e IDEA \u043e\u0442\u0441\u044e\u0434\u0430\u00a0<a href=\"https:\/\/www.jetbrains.com\/idea\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/www.jetbrains.com\/idea\/download\/other.html<\/u><\/a>\u00a0\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u0443\u043a\u0430\u0437\u0430\u0432 \u0442\u043e\u043b\u044c\u043a\u043e IDEA_JDK. \u041d\u043e \u044f \u0437\u0430\u0445\u043e\u0442\u0435\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u043c\u0438 JetBrains \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u0439 (\u043d\u0435 \u0437\u0440\u044f \u0436\u0435 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0430 \u0432\u0441\u0435 \u0438\u0445 IDE \ud83d\ude42 )<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b Linux \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b aarch64\/ARM64:\u00a0<a href=\"https:\/\/www.jetbrains.com\/idea\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>IDEA<\/u><\/a>,\u00a0<a href=\"https:\/\/www.jetbrains.com\/clion\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>CLion<\/u><\/a><br \/>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 Termux<\/p>\n<pre><code class=\"bash\">$ mkdir ide # \u043f\u0430\u043f\u043a\u0430 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 ide $ cd ide # \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c ~\/ide $ cp \/data\/data\/com.termux\/files\/home\/storage\/shared\/Download\/ideaIU-2023.2-aarch64.tar.gz .\/ ~\/ide $ cp \/data\/data\/com.termux\/files\/home\/storage\/shared\/Download\/CLion-2023.2.tar.gz .\/ #\u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c ~\/ide $ tar -xf .\/ideaIU-2023.2-aarch64.tar.gz ~\/ide $ tar -xf .\/CLion-2023.2.tar.gz<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c:<\/p>\n<pre><code class=\"bash\">~\/ide $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh: 176: exec: \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/jbr\/bin\/java: not found<\/code><\/pre>\n<p>\u041d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a Java. \u0414\u0435\u043b\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">#java \u0434\u043b\u044f clion ~ $ export CLION_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ #\u0438 \u0434\u043b\u044f idea ~ $ export IDEA_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0448\u0438\u0431\u043a\u0430:<\/p>\n<pre><code class=\"bash\">~\/ide $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh libsqliteij error: java.lang.AssertionError: Cannot create SvgCacheManager         at com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:54)         at com.intellij.openapi.diagnostic.Logger.error(Logger.java:419)         at com.intellij.ui.svg.SvgCacheManagerKt.createSvgCacheManager(SvgCacheManager.kt:62)         at com.intellij.ui.svg.SvgCacheManagerKt$createSvgCacheManager$1.invokeSuspend(SvgCacheManager.kt)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32)         at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) Caused by: java.lang.UnsatisfiedLinkError: \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/libsqliteij.so: dlopen failed: library \"libc.so.6\" not found: needed by \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/libsqliteij.so in namespace (default)         at java.base\/jdk.internal.loader.NativeLibraries.load(Native Method)         at java.base\/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:384)         at java.base\/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:228)         at java.base\/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:170)         at java.base\/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)         at java.base\/java.lang.Runtime.load0(Runtime.java:751)         at java.base\/java.lang.System.load(System.java:1912)         at org.jetbrains.sqlite.SqliteLibLoaderKt.loadSqliteNativeLibrary(sqliteLibLoader.kt:42)         at org.jetbrains.sqlite.SqliteLibLoaderKt.loadNativeDb(sqliteLibLoader.kt:30)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:32)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:21)         at com.intellij.ui.svg.SvgCacheManagerKt.connectToSvgCache(SvgCacheManager.kt:76)         at com.intellij.ui.svg.SvgCacheManagerKt.access$connectToSvgCache(SvgCacheManager.kt:1)         at com.intellij.ui.svg.SvgCacheManagerKt$createSvgCacheManager$2$1.invokeSuspend(SvgCacheManager.kt:53)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.Dispatche1dTask.run(DispatchedTask.kt:106)         at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)         at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)         ... 4 more<\/code><\/pre>\n<p>\u041e\u043a\u0435\u0439. \u0427\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u0435\u043d\u044c\u043a\u043e\u0435. \u0413\u0443\u0433\u043b\u0438\u043c &#8212;\u00a0<a href=\"https:\/\/github.com\/termux\/termux-packages\/issues\/11606\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-packages\/issues\/11606<\/u><\/a>\u00a0<a href=\"https:\/\/wiki.termux.com\/wiki\/Differences_from_Linux\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Differences_from_Linux<\/u><\/a><\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 glibc &#8212; \u0432 Linux \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Glibc\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Glibc\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/en.wikipedia.org\/wiki\/Glibc<\/u><\/a>\u00a0\u0430 \u0432 Android &#8212; Bionic\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Bionic_(software\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/en.wikipedia.org\/wiki\/Bionic_(software<\/u><\/a>)<\/p>\n<p>\u0418 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 &#8212; \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c glibc\u00a0<a href=\"https:\/\/github.com\/termux-pacman\/glibc-packages\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux-pacman\/glibc-packages<\/u><\/a>\u00a0\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u0443\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<br \/>\u042f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u00a0<a href=\"https:\/\/github.com\/termux-pacman\/glibc-packages\/issues\/61\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux-pacman\/glibc-packages\/issues\/61<\/u><\/a>\u00a0\u041e\u043d \u043f\u043e\u043c\u043e\u0433 \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u043d\u043e \u043d\u0435 \u0441\u043e \u0432\u0441\u0435\u043c\u0438.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u044f \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0432\u0442\u043e\u0440\u043e\u0439.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0437\u043d\u0430\u0435\u043c \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u043b\u0438\u0431\u0430 libsqliteij &#8212; \u0441\u043b\u0435\u0434\u044b \u0432\u0435\u0434\u0443\u0442 \u0432 IDEA\u00a0<a href=\"https:\/\/github.com\/search?q=repo%3AJetBrains%2Fintellij-community%20libsqliteij&amp;type=code\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/search?q=repo%3AJetBrains%2Fintellij-community%20libsqliteij&amp;type=code<\/u><\/a><\/p>\n<p>\u0420\u0430\u0441\u0447\u0435\u0445\u043b\u044f\u0435\u043c git &#8212; \u0431\u0443\u0434\u0435\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 IDEA \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<pre><code class=\"bash\">~ $ git clone https:\/\/github.com\/JetBrains\/intellij-community.git ~ $ cd intellij-community\/platform\/sqlite\/<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u043f\u0446\u0438\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0449\u0438\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u0411\u0435\u0437 \u043d\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 make.sh \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c<br \/><code>linkFlags=\"-Wl,-S,-x\"<\/code><br \/>\u043d\u0430<br \/><code>linkFlags=\"-Wl,-S,-x,-lm,-lc,-ldl\"<\/code><\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c OS, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 &#8212; \u0441 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c clang \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f &#171;cannot locate symbol &#171;log&#187;&#187;<\/p>\n<pre><code class=\"bash\">~\/intellij-community\/platform\/sqlite $ export OS=linux ~\/intellij-community\/platform\/sqlite $ export ARCH=aarch64 ~\/intellij-community\/platform\/sqlite $ export CC=gcc-13 ~\/intellij-community\/platform\/sqlite $ .\/make.sh<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432 IDEA \u0438 CLion<\/p>\n<pre><code class=\"bash\">~\/intellij-community\/platform\/sqlite $ cp .\/target\/sqlite\/linux-aarch64\/libsqliteij.so \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/ ~\/intellij-community\/platform\/sqlite $ cp .\/target\/sqlite\/linux-aarch64\/libsqliteij.so \/data\/data\/com.termux\/files\/home\/ide\/idea-IU-232.8660.185\/lib\/native\/linux-aarch64\/<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">~\/sqlite $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh Start Failed Unable to detect graphics environment 2023-08-18 22:13:27,505 [     95]   WARN - #c.i.i.AppStarter - Unable to load JNA library (os=Linux 4.14.190-26178195-abt865xxu5dwc3, jna.boot.library.path=\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/jna\/aarch64) java.lang.UnsatisfiedLinkError: Unable to locate JNA native support library         at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1018)         at com.sun.jna.Native.&lt;clinit>(Native.java:221)         at com.intellij.jna.JnaLoader.load(JnaLoader.java:19)         at com.intellij.idea.StartupUtil$loadSystemLibsAndLogInfoAndInitMacApp$1$2.invokeSuspend(StartupUtil.kt:366)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)         at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)         at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)<\/code><\/pre>\n<p>\u041e\u0448\u0438\u0431\u043a\u0430 &#171;Unable to detect graphics environment&#187; \u043b\u0435\u0447\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e &#8212; \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 X11 \u0438\u043b\u0438 VNC. X11 \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 GPU acceleration, \u043d\u043e \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e copy-paste \u043c\u0435\u0436\u0434\u0443 Android \u0438 Termux \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 &#8212; \u0438\u0437 Termux \u0432 Android. \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e \u0442\u0430\u043a \u0447\u0442\u043e \u044f \u0432\u044b\u0431\u0440\u0430\u043b VNC.<\/p>\n<p>\u0412\u043e\u0442 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 VNC \u0434\u043b\u044f Termux:<br \/><a href=\"https:\/\/wiki.termux.com\/wiki\/Graphical_Environment\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Graphical_Environment<\/u><\/a><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438, \u0442\u043e VNC \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d. \u041d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e.<\/p>\n<pre><code class=\"bash\">~ $ vncserver -localhost You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y\/n)? n  New 'localhost:1 ()' desktop is localhost:1  Creating default startup script \/data\/data\/com.termux\/files\/home\/.vnc\/xstartup Creating default config \/data\/data\/com.termux\/files\/home\/.vnc\/config Starting applications specified in \/data\/data\/com.termux\/files\/home\/.vnc\/xstartup Log file is \/data\/data\/com.termux\/files\/home\/.vnc\/localhost:1.log<\/code><\/pre>\n<p>\u041e\u043d \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 5901 \u0434\u043b\u044f DISPLAY = 1, 5902 &#8212; \u0434\u043b\u044f 2 \u0438 \u0442\u0434.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 VNC \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0434\u043b\u044f Windows \u0438 Android \u0438 \u0432\u044b\u0431\u0440\u0430\u043b RealVNC Viewer:<\/p>\n<p>Windows <a href=\"https:\/\/www.realvnc.com\/en\/connect\/download\/viewer\/\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/www.realvnc.com\/en\/connect\/download\/viewer\/<\/u><\/a><br \/>Android <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.realvnc.viewer.android\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/play.google.com\/store\/apps\/details?id=com.realvnc.viewer.android<\/u><\/a><\/p>\n<p>\u041d\u0443 \u0435\u0449\u0451 \u0443 \u0441\u0435\u0431\u044f \u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b ssh tunnel \u0434\u043b\u044f VNC &#8212; \u0447\u0442\u043e\u0431\u044b VNC \u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u043b\u0441\u044f \u043f\u043e localhost. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/254\/152\/638\/2541526389abb05e2037698fcb35a685.png\" alt=\"putty port forwarding\" title=\"Putty SSH Tunnels\" width=\"452\" height=\"442\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/254\/152\/638\/2541526389abb05e2037698fcb35a685.png\"\/><\/p>\n<div><figcaption>Putty SSH Tunnels<\/figcaption><\/div>\n<\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f DISPLAY \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c IDE:<\/p>\n<pre><code class=\"bash\">~ $ export DISPLAY=\":1\" ~ $ export CLION_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ ~ $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh<\/code><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043e\u0448\u0438\u0431\u043a\u0430 \u0441 SvgCacheManager, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c -Didea.ui.icons.svg.disk.cache=false \u0432 clion64.vmoptions \u0438 idea64.vmoptions:<\/p>\n<pre><code class=\"bash\">~ $ \/data\/data\/com.termux\/files\/home\/ide\/idea-IU-232.8660.185\/bin\/idea.sh CompileCommand: exclude com\/intellij\/openapi\/vfs\/impl\/FilePartNodeRoot.trieDescend bool exclude = true ERROR: Cannot create SvgCacheManager java.lang.UnsatisfiedLinkError: 'int org.jetbrains.sqlite.NativeDB.open(byte[], int)'         at org.jetbrains.sqlite.NativeDB.open(Native Method)         at org.jetbrains.sqlite.NativeDB.open(NativeDB.kt:59)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:36)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:21)         at com.intellij.ui.svg.SvgCacheManagerKt.connectToSvgCache(SvgCacheManager.kt:76)         at com.intellij.ui.svg.SvgCacheManagerKt.access$connectToSvgCache(SvgCacheManager.kt:1)         at com.intellij.ui.svg.SvgCacheManagerKt$createSvgCacheManager$2$1.invokeSuspend(SvgCacheManager.kt:53)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)         at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)         at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) Start Failed Internal error. Please refer to https:\/\/jb.gg\/ide\/critical-startup-errors java.lang.AssertionError: Cannot create SvgCacheManager at com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:54) at com.intellij.openapi.diagnostic.Logger.error(Logger.java:419) at com.intellij.ui.svg.SvgCacheManagerKt.createSvgCacheManager(SvgCacheManager.kt:62) at com.intellij.ui.svg.SvgCacheManagerKt1.invokeSuspend(SvgCacheManager.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineSchedulerWorker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineSchedulerconnectToSvgCache(SvgCacheManager.kt:1) at com.intellij.ui.svg.SvgCacheManagerKt2Worker.run(LimitedDispatcher.kt:115) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100) ... 4 more<\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439 \u044d\u043a\u0440\u0430\u043d:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/37f\/063\/b7d\/37f063b7d05fda2b2f75687debe5913c.png\" alt=\"IDEA 2023.2\" title=\"IDEA 2023.2\" width=\"1280\" height=\"832\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/37f\/063\/b7d\/37f063b7d05fda2b2f75687debe5913c.png\"\/><\/p>\n<div><figcaption>IDEA 2023.2<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0440\u0430\u0437\u0443 \u0441 debug, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/66c\/bc1\/a74\/66cbc1a74f7e3e41dbb6ff2d5f4cc30c.png\" alt=\"IDEA bebug\" title=\"IDEA bebug\" width=\"1281\" height=\"831\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/66c\/bc1\/a74\/66cbc1a74f7e3e41dbb6ff2d5f4cc30c.png\"\/><\/p>\n<div><figcaption>IDEA bebug<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<br \/>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c CLion \u0441 debug. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c toolchain:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0a8\/2da\/564\/0a82da5646e757509a589aca7a36e7e8.png\" alt=\"CLion toolchain\" title=\"CLion toolchain\" width=\"1281\" height=\"828\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0a8\/2da\/564\/0a82da5646e757509a589aca7a36e7e8.png\"\/><\/p>\n<div><figcaption>CLion toolchain<\/figcaption><\/div>\n<\/figure>\n<p>\u0418 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5c3\/7a5\/ce5\/5c37a5ce5d21585e7eda3f70a6765955.png\" alt=\"C\" title=\"C\" width=\"1283\" height=\"827\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5c3\/7a5\/ce5\/5c37a5ce5d21585e7eda3f70a6765955.png\"\/><\/p>\n<div><figcaption>CLion JNA error<\/figcaption><\/div>\n<\/figure>\n<p>\u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 JNA. \u0411\u0443\u0434\u0435\u043c \u0444\u0438\u043a\u0441\u0438\u0442\u044c \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 sqlite.<\/p>\n<h3>JNA \u0432 Termux<\/h3>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c libjnidispatch.so \u0438\u0437 JNA \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0437\u043d\u0430\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e libjnidispatch.so \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 IDE. \u042d\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0435\u0440\u0441\u0438\u044f JNI \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432 JNA, \u043d\u0435 \u0441\u0430\u043c\u0430 \u0432\u0435\u0440\u0441\u0438\u044f JNA. \u0415\u0441\u043b\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u0442\u043e IDE \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439.<\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e JNI \u043c\u043e\u0436\u043d\u043e \u0432 &lt;IDE>\/lib\/util-8.jar\/com\/sun\/jna\/Version.class<br \/>\u0414\u043b\u044f IDEA\/CLion 2023.2.0 \u044d\u0442\u043e 6.1.4.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043a\u0430\u0447\u0430\u0435\u043c JNA \u0438 \u043d\u0430\u0439\u0434\u0451\u043c native \u0432\u0435\u0440\u0441\u0438\u044e 6.1.4 \u0432 \u0444\u0430\u0439\u043b\u0435 build.xml (\u0441\u0442\u0440\u043e\u043a\u0438 79-81, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 jni.major, jni.minor, jni.revision)<\/p>\n<pre><code class=\"bash\">~ $ git clone https:\/\/github.com\/java-native-access\/jna.git ~ $ cd jna ~\/jna $ git log -L79,81:.\/build.xml commit f6ebc9f3314e016094b7e1c784e68998c63de895 Author: Matthias Bl\u00e4sing &lt;mblaesing@doppel-helix.eu> Date:   Sun Jun 5 19:53:06 2022 +0200 Rebuild native libraries  diff --git a\/build.xml b\/build.xml --- a\/build.xml +++ b\/build.xml @@ -77,4 +77,4 @@ &lt;property name=\"jni.major\" value=\"6\"\/> &lt;property name=\"jni.minor\" value=\"1\"\/>  &lt;property name=\"jni.revision\" value=\"3\"\/>   &lt;property name=\"jni.revision\" value=\"4\"\/> &lt;property name=\"jni.build\" value=\"0\"\/> &lt;!--${build.number}--><\/code><\/pre>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043a\u043e\u043c\u043c\u0438\u0442 f6ebc9f3314e016094b7e1c784e68998c63de895. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c checkout \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">~\/jna $ git checkout f6ebc9f3314e016094b7e1c784e68998c63de895 ~\/jna $ ant -Dos.prefix=android-aarch64<\/code><\/pre>\n<p>\u041e\u0448\u0438\u0431\u043a\u0430 \u0441 libffi:<\/p>\n<pre><code class=\"bash\">[exec] make: *** [Makefile:510: \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/libffi\/.libs\/libffi.a] Error 1<\/code><\/pre>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0440\u0430\u043d\u0435\u0435 \u0441\u0442\u0430\u0432\u0438\u043b\u0438 libffi-static \u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0432 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u0438 \u0437\u0430\u043d\u043e\u0432\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0443:<\/p>\n<pre><code class=\"bash\">~\/jna $ mkdir -p \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/libffi\/.libs\/ ~\/jna $ cp \/data\/data\/com.termux\/files\/usr\/lib\/libffi.a \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/libffi\/.libs\/libffi.a ~\/jna $ ant -Dos.prefix=android-aarch64<\/code><\/pre>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430:<\/p>\n<pre><code class=\"bash\">[exec] aarch64-linux-android-gcc --sysroot \/Developer\/Applications\/android-ndk-r10e\/platforms\/android-21\/arch-arm64 -W -Wall -Wno-unused -Wno-parentheses  -O2 -fno-omit-frame-pointer -fno-strict-aliasing -fpic -ffunction-sections -funwind-tables -fno-short-enums  -DNO_JAWT -DNO_WEAK_GLOBALS -DFFI_MMAP_EXEC_WRIT=1 -DFFI_MMAP_EXEC_SELINUX=0  -I\"\/data\/data\/com.termux\/files\/home\/jna\/build\/headers\" -I\/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/libffi\/include -I\"\/Developer\/Applications\/android-ndk-r10e\/platforms\/android-21\/arch-arm64\/usr\/include\"  -DJNA_JNI_VERSION='\"6.1.4\"' -DCHECKSUM='\"147a998f0cbc89681a1ae6c0dd121629\"' -Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -c dispatch.c -o \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/dispatch.o [exec] In file included from dispatch.c:30: [exec] .\/dispatch.h:29:10: fatal error: 'ffi.h' file not found [exec] #include \"ffi.h\" [exec]          ^~~~~~~ [exec] 1 error generated. [exec] make: *** [Makefile:463: \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/dispatch.o] Error 1  BUILD FAILED \/data\/data\/com.termux\/files\/home\/jna\/build.xml:1127: exec returned: 2<\/code><\/pre>\n<p>\u041d\u0435\u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 native\/Makefile, \u0441\u0442\u0440\u043e\u043a\u0430 178:<br \/><code>CINCLUDES+=-I\"$(NDK_PLATFORM)\/arch-$(AARCH)\/usr\/include\" -I\"\/data\/data\/com.termux\/files\/usr\/include\/\" # -I\/usr\/include<\/code><\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c ant \u0437\u0430\u043d\u043e\u0432\u043e:<\/p>\n<pre><code class=\"bash\">native: [exec] aarch64-linux-android-gcc --sysroot \/Developer\/Applications\/android-ndk-r10e\/platforms\/android-21\/arch-arm64 -W -Wall -Wno-unused -Wno-parentheses  -O2 -fno-omit-frame-pointer -fno-strict-aliasing -fpic -ffunction-sections -funwind-tables -fno-short-enums  -DNO_JAWT -DNO_WEAK_GLOBALS -DFFI_MMAP_EXEC_WRIT=1 -DFFI_MMAP_EXEC_SELINUX=0  -I\"\/data\/data\/com.termux\/files\/home\/jna\/build\/headers\" -I\/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/libffi\/include -I\"\/Developer\/Applications\/android-ndk-r10e\/platforms\/android-21\/arch-arm64\/usr\/include\" -I\"\/data\/data\/com.termux\/files\/usr\/include\/\"  -DJNA_JNI_VERSION='\"6.1.4\"' -DCHECKSUM='\"147a998f0cbc89681a1ae6c0dd121629\"' -Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -c dispatch.c -o \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/dispatch.o [exec] In file included from dispatch.c:98: [exec] In file included from \/data\/data\/com.termux\/files\/usr\/include\/stdlib.h:276: [exec] \/data\/data\/com.termux\/files\/usr\/include\/android\/legacy_stdlib_inlines.h:96:77: error: unused parameter '__l' [-Werror,-Wunused-parameter] [exec] static __inline double strtod_l(const char* __s, char** __end_ptr, locale_t __l) { [exec]                                                                             ^ [exec] \/data\/data\/com.termux\/files\/usr\/include\/android\/legacy_stdlib_inlines.h:100:76: error: unused parameter '__l' [-Werror,-Wunused-parameter] [exec] static __inline float strtof_l(const char* __s, char** __end_ptr, locale_t __l) { [exec]                                                                            ^ [exec] \/data\/data\/com.termux\/files\/usr\/include\/android\/legacy_stdlib_inlines.h:104:87: error: unused parameter '__l' [-Werror,-Wunused-parameter] [exec] static __inline long strtol_l(const char* __s, char** __end_ptr, int __base, locale_t __l) { [exec]                                                                                       ^ [exec] 3 errors generated. [exec] make: *** [Makefile:463: \/data\/data\/com.termux\/files\/home\/jna\/build\/native-android-aarch64\/dispatch.o] Error 1 BUILD FAILED \/data\/data\/com.termux\/files\/home\/jna\/build.xml:1127: exec returned: 2<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0441 unused parameter. \u041e\u043a. \u041f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 native\/Makefile, \u0441\u0442\u0440\u043e\u043a\u0430 97:<br \/><code>PCFLAGS=-W -Wall -Wno-unused -Wno-parentheses -Wno-unused-parameter<\/code><\/p>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446 \u0432\u0441\u0451 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f. \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 libjnidispatch.so:<\/p>\n<pre><code class=\"bash\">~ $ cp jna\/build\/native-android-aarch64\/libjnidispatch.so ide\/clion-2023.2\/lib\/jna\/aarch64\/<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u043c CLion \u0438 \u043e\u043f\u044f\u0442\u044c \u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c debug:<\/p>\n<pre><code class=\"bash\">Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library \"libc.so.6\" not found: needed by \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/pty4j\/linux\/aarch64\/libpty.so in namespace (default) at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:197) ... 28 more Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library \"libc.so.6\" not found: needed by \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/pty4j\/linux\/aarch64\/libpty.so in namespace (default) at com.sun.jna.Native.open(Native Method) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:210) ... 28 more Suppressed: java.io.IOException: Native library (data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/pty4j\/linux\/aarch64\/libpty.so) not found in resource path (\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/platform-loader.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/util.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/app.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/util-8.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/util_rt.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/jps-model.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/stats.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/protobuf.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/external-system-rt.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/intellij-test-discovery.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/forms_rt.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/rd.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/externalProcess-rt.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/annotations-java5.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/app-client.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/async-profiler.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/bouncy-castle.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/byte-buddy-agent.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/error-prone-annotations.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/groovy.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/grpc.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/intellij-coverage-agent-1.0.723.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/jetbrains-annotations.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/jsch-agent.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/junit4.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/junit5.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/lib-client.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/lib.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/modules.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/product-client.jar:\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/product.jar) at com.sun.jna.Native.extractFromResourcePath(Native.java:1145) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:281) ... 28 more<\/code><\/pre>\n<h3>PTY4J &#8212; so \u0438 jar<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0448\u0438\u0431\u043a\u0430 \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 libpty.so. pty4j &#8212; \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0442 JetBrains \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0427\u0442\u043e \u0436 \u0442\u0435\u043f\u0435\u0440\u044c \u0435\u0451 \u0447\u0435\u0440\u0451\u0434:<\/p>\n<pre><code class=\"bash\">~ $ git clone  https:\/\/github.com\/JetBrains\/pty4j.git ~ $ cd ~\/pty4j\/native ~\/pty4j\/native $ make -f Makefile_linux linux_aarch64<\/code><\/pre>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c IDE \u0438 debug:<\/p>\n<pre><code class=\"bash\">\/pty4j\/native $ cp ..\/os\/linux\/aarch64\/libpty.so ~\/ide\/clion-2023.2\/lib\/pty4j\/linux\/aarch64\/<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0448\u0438\u0431\u043a\u0430 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 libutil.so:<\/p>\n<pre><code class=\"bash\">Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library \"libutil.so\" not found             at com.sun.jna.Native.open(Native Method)             at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:197)             ... 28 more     Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library \"libutil.so\" not found             at com.sun.jna.Native.open(Native Method)             at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:210)             ... 28 more<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0432\u0441\u0451 \u0435\u0449\u0451 pty4j, \u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u043c\u0435\u0441\u0442\u043e:<br \/><a href=\"https:\/\/github.com\/JetBrains\/pty4j\/blob\/master\/src\/com\/pty4j\/unix\/linux\/OSFacadeImpl.java#L79\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/JetBrains\/pty4j\/blob\/master\/src\/com\/pty4j\/unix\/linux\/OSFacadeImpl.java#L79<\/u><\/a><\/p>\n<pre><code class=\"java\">  public interface Linux_Util_lib extends Library {     int login_tty(int fd);   } \/\/...   private static final Linux_Util_lib m_Utillib = Native.loadLibrary(\"util\", Linux_Util_lib.class);<\/code><\/pre>\n<p>Linux \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c util \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 login_tty, \u043d\u043e \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u044d\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 Termux. \u041d\u043e \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0435\u0441\u0442\u044c \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 &#171;c&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u0434\u0435! \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e &#171;int login_tty(int fd);&#187; \u0438\u0437 Linux_Util_lib \u0432 C_lib \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f Linux_Util_lib \u0438\u0437 OSFacadeImpl \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0435\u0451 \u0442\u0430\u043a\u0436\u0435 \u0432 \u043c\u0435\u0441\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<pre><code class=\"java\">  private interface C_lib extends Library { \/\/...     int login_tty(int fd);   } @Override public int login_tty(int fd) { return m_Clib.login_tty(fd); }<\/code><\/pre>\n<p>\u0418 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c jar \u0431\u0435\u0437 \u0442\u0435\u0441\u0442\u043e\u0432 (\u043d\u0430 Android \u043e\u043d\u0438 \u043f\u0430\u0434\u0430\u044e\u0442):<\/p>\n<pre><code class=\"bash\">~\/pty4j $ gradlew -x tests -x testJar<\/code><\/pre>\n<p>\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f jar \u0432 \u043f\u0430\u043f\u043a\u0443 &lt;IDE>\/lib \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 idea.sh\/clion.sh \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 classpath \u0432 \u043d\u0430\u0447\u0430\u043b\u043e:<\/p>\n<pre><code class=\"bash\">~ $ cp ~\/pty4j\/build\/libs\/pty4j-0.12.13.jar ~\/ide\/clion-2023.2\/lib\/<\/code><\/pre>\n<p><code>CLASS_PATH=\"$IDE_HOME\/lib\/pty4j-0.12.13.jar:$IDE_HOME\/lib\/platform-loader.jar\"<\/code><\/p>\n<p>\u041e\u043f\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c debug, \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c78\/668\/ccf\/c78668ccf0fb3ececdd0899c3a370318.png\" alt=\"clion debug\" title=\"CLion debug\" width=\"1283\" height=\"831\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c78\/668\/ccf\/c78668ccf0fb3ececdd0899c3a370318.png\"\/><\/p>\n<div><figcaption>CLion debug<\/figcaption><\/div>\n<\/figure>\n<h3>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 &#8212; proot, window manager<\/h3>\n<p>\u0412 IDE \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0437 Termux \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0434\u0438\u0430\u043b\u043e\u0433\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432, \u0442\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430. \u0414\u043b\u044f \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c IDE \u0447\u0435\u0440\u0435\u0437 proot:<br \/><a href=\"https:\/\/wiki.termux.com\/wiki\/PRoot\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/PRoot<\/u><\/a><\/p>\n<p>\u042d\u0442\u043e \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 root \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f &#8212; \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0434\u0443\u043c\u0430\u0442\u044c \u0447\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u043e\u0434 root\u2019\u043e\u043c. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 root \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442.<\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c IDE \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 VNC\/X11 &#8212; \u0432\u043e\u043a\u0440\u0443\u0433 \u043e\u043a\u043d\u0430 \u0431\u0443\u0434\u0443\u0442 \u0447\u0451\u0440\u043d\u044b\u0435 \u0440\u0430\u043c\u043a\u0438. \u0414\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u0441\u044c window manager.<\/p>\n<p><a href=\"https:\/\/wiki.termux.com\/wiki\/Graphical_Environment\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Graphical_Environment<\/u><\/a><\/p>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Fluxbox.<\/p>\n<h3>\u041c\u043e\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/h3>\n<p>\u0417\u0434\u0435\u0441\u044c \u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 IDEA\/CLion. \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 sh \u0444\u0430\u0439\u043b \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, export) \u0432 bashrc:<\/p>\n<pre><code class=\"bash\">#\u0437\u0430\u043f\u0443\u0441\u043a proot ~ $ proot-distro login ubuntu --shared-tmp #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c VNC # \u0441 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0432\u043d\u044b\u043c \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043d\u043e\u043c\u0443 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044e \u043c\u043e\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430, \u0447\u0442\u043e \u0431\u044b \u0432\u0441\u0451 \u0431\u044b\u043b\u043e \u043d\u0435 \u0442\u0430\u043a \u043c\u0435\u043b\u043a\u043e \u0438 \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c (\u043d\u0443 \u0438 \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443) ~ $ export DISPLAY=\":1\" ~ $ vncserver -localhost -geometry 1280x800 -depth 24 #\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c java \u0434\u043b\u044f IDEA - \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 java \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0430\u043c\u043e\u0439 IDE \u0438 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 CLion ~ $ export JAVA_HOME=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ ~ $ export IDEA_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ ~ $ export CLION_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ #\u043e\u043a\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 ~ $ fluxbox &amp; #\u0437\u0430\u043f\u0443\u0441\u043a IDE ~ $ \/data\/data\/com.termux\/files\/home\/ide\/idea-IU-232.8660.185\/bin\/idea.sh &amp; ~ $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh &amp;<\/code><\/pre>\n<h3>\u0421\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 so \u0438 jar \u0444\u0430\u0439\u043b\u044b<\/h3>\n<p>\u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0432\u0430\u043c \u043d\u0435 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 \u0442\u0435\u0440\u043d\u0438\u0441\u0442\u044b\u0439 \u043f\u0443\u0442\u044c \u043f\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u0441\u0435\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u0422\u0430\u043a \u0447\u0442\u043e \u044f \u0432\u044b\u043b\u043e\u0436\u0438\u043b \u0443\u0436\u0435 \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u043a\u0440\u0430\u0442\u043a\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439, \u043a\u0443\u0434\u0430 \u0438\u0445 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c: <a href=\"https:\/\/github.com\/TimReset\/termux_jetbrains\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/TimReset\/termux_jetbrains<\/u><\/a><\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/757222\/\"> https:\/\/habr.com\/ru\/articles\/757222\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 Android \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430\u0445 \u0438 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430\u0445 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e &#8212; \u043c\u043d\u043e\u0433\u043e\u044f\u0434\u0435\u0440\u043d\u044b\u0435 CPU \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u042d\u0442\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u0442 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u0430\u0436\u0435 \u0442\u0430\u043a\u0438\u0445 \u0442\u044f\u0436\u0435\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043a\u0430\u043a IDEA \u0438 CLion. \u0418 \u0441\u0435\u0439\u0447\u0430\u0441 \u044f \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>CLion 2023.2<\/figcaption><\/div>\n<\/figure>\n<h2>Termux<\/h2>\n<p>\u041d\u0430\u00a0Android \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c Linux\u2011like \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0441\u00a0\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/github.com\/termux\/termux-app\" rel=\"noopener noreferrer nofollow\">Termux<\/a>. \u041d\u0430\u00a0\u0445\u0430\u0431\u0440\u0435 \u0443\u0436\u0435\u00a0\u0431\u044b\u043b\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u043f\u0440\u043e\u00a0\u043d\u0435\u0433\u043e:<\/p>\n<p><a href=\"https:\/\/habr.com\/en\/articles\/652633\/\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u043e\u0434 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 Termux<\/u><\/a><u>,<br \/><\/u><a href=\"https:\/\/habr.com\/en\/articles\/444950\/\" rel=\"noopener noreferrer nofollow\"><u>Termux \u0448\u0430\u0433 \u0437\u0430\u00a0\u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 1)<\/u><\/a><u><br \/><\/u><a href=\"https:\/\/habr.com\/en\/articles\/445868\/\" rel=\"noopener noreferrer nofollow\"><u>Termux \u0448\u0430\u0433 \u0437\u0430\u00a0\u0448\u0430\u0433\u043e\u043c (\u0427\u0430\u0441\u0442\u044c 2)<\/u><\/a><u><br \/><\/u><a href=\"https:\/\/habr.com\/en\/companies\/sportmaster_lab\/articles\/683242\/\" rel=\"noopener noreferrer nofollow\"><u>\u041f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430\u00a0Android \u0432\u00a0\u0432\u0435\u0431\u2011\u0441\u0435\u0440\u0432\u0435\u0440<\/u><\/a>  <\/p>\n<p>\u041d\u043e\u00a0\u0432\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0432\u00a0Termux \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u00a0\u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u0410\u00a0\u0432\u00a0\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c, \u043a\u0430\u043a\u00a0\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0435 IDE\u00a0\u2014 IDEA \u0438 CLion\u00a0\u2014 \u0441\u00a0\u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c UI \u043d\u0430\u00a0Android.<\/p>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Samsung Galaxy Tab S6\u00a0(SM\u2011T860\/SM\u2011T865) \u0441\u00a0\u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u044e 10.5\u00bb.<\/p>\n<p><a href=\"https:\/\/www.mobile-review.com\/articles\/2019\/samsung-galaxy-tab-s6.shtml\" rel=\"noopener noreferrer nofollow\"><u>\u0421\u0442\u0430\u0442\u044c\u044f \u0432\u00a0Mobile review \u043e\u00a0\u043d\u0451\u043c<\/u><\/a><\/p>\n<p>\u0421\u00a0\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 Bluetooth \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439 (\u043d\u0435 \u0440\u043e\u0434\u043d\u043e\u0439) \u0441\u00a0\u0442\u0430\u0447\u043f\u0430\u0434\u043e\u043c\u00a0\u2014 <a href=\"https:\/\/www.amazon.de\/-\/en\/Bluetooth-Keyboard-Touchpad-Portable-Universal\/dp\/B08FWV1SYK\" rel=\"noopener noreferrer nofollow\"><u>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430\u00a0Amazon<\/u><\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430<\/h3>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 apk. \u0412\u0437\u044f\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0437 Actions \u0434\u043b\u044f \u0432\u0435\u0442\u043a\u0438 master\u00a0<a href=\"https:\/\/github.com\/termux\/termux-app\/actions\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-app\/actions<\/u><\/a><\/p>\n<p>\u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u044d\u0442\u043e\u00a0<a href=\"https:\/\/github.com\/termux\/termux-app\/actions\/runs\/5932694275\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-app\/actions\/runs\/5932694275<\/u><\/a><\/p>\n<p>\u0414\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 Android \u043d\u0443\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c apk \u0432\u0435\u0440\u0441\u0438\u0438 7 (<strong>-android-7-<\/strong>) &#8212; \u0432 5-\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<p>\u0414\u043b\u044f \u043c\u043e\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 termux-app_v0.118.0+eef5ac4-apt-android-7-github-debug_<strong>arm64-v8a<\/strong><\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e &#8212; \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c zip \u0430\u0440\u0445\u0438\u0432 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\/\u043f\u043b\u0430\u043d\u0448\u0435\u0442, \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c, \u0441\u0442\u0430\u0432\u0438\u043c apk \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b &#8212; ssh, java, gcc, etc\u2026\u200b<\/p>\n<pre><code class=\"bash\">#\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443 $ termux-setup-storage #\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 $ pkg upgrade #\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f gcc $ pkg install tur-repo #\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0434\u043b\u044f x11 $ pkg install x11-repo #openssh - \u0434\u043b\u044f remote connection #openjdk-17 - java #autoconf, automake, libtool, libffi-static, gcc-13 - \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 #termux-x11-nightly, tigervnc, fluxbox - \u0434\u043b\u044f UI #git, rust, gdb - \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 #proot-distro - \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b IDE $ pkg install openssh openjdk-17 autoconf automake libtool libffi-static gcc-13 termux-x11-nightly tigervnc git rust gdb proot-distro<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c SSH (\u0435\u0441\u043b\u0438 \u0432\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u0448\u0435, \u0442\u043e \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d) \u043d\u0430 Termux \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f &#8212; \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u044f\u0442\u043d\u0435\u0435.<br \/>\u041d\u0430 Termux Wiki \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u043e \u0442\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:\u00a0<a href=\"https:\/\/wiki.termux.com\/wiki\/Remote_Access\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Remote_Access<\/u><\/a><\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c ssh:<\/p>\n<pre><code class=\"bash\">$ passwd #\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c New password: Retype new password: New password was successfully set. $ sshd #\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c ssh daemon<\/code><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 Putty \u043f\u043e \u043f\u043e\u0440\u0442\u0443 8022.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>Putty \u0438 Termux<\/figcaption><\/div>\n<\/figure>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c IDE &#8212; sqlite \u0438 VNC<\/h3>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c &#8212; \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0435\u0439 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0439 IDE (IDEA\/CLion) &#8212; 2023.2.x. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e Java \u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 2023.1.5 &#8212; \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u0447\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e IDEA \u043e\u0442\u0441\u044e\u0434\u0430\u00a0<a href=\"https:\/\/www.jetbrains.com\/idea\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/www.jetbrains.com\/idea\/download\/other.html<\/u><\/a>\u00a0\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u0443\u043a\u0430\u0437\u0430\u0432 \u0442\u043e\u043b\u044c\u043a\u043e IDEA_JDK. \u041d\u043e \u044f \u0437\u0430\u0445\u043e\u0442\u0435\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430\u043c\u0438 JetBrains \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u0439 (\u043d\u0435 \u0437\u0440\u044f \u0436\u0435 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u043d\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0430 \u0432\u0441\u0435 \u0438\u0445 IDE \ud83d\ude42 )<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b Linux \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b aarch64\/ARM64:\u00a0<a href=\"https:\/\/www.jetbrains.com\/idea\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>IDEA<\/u><\/a>,\u00a0<a href=\"https:\/\/www.jetbrains.com\/clion\/download\/other.html\" rel=\"noopener noreferrer nofollow\"><u>CLion<\/u><\/a><br \/>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 Termux<\/p>\n<pre><code class=\"bash\">$ mkdir ide # \u043f\u0430\u043f\u043a\u0430 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 ide $ cd ide # \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c ~\/ide $ cp \/data\/data\/com.termux\/files\/home\/storage\/shared\/Download\/ideaIU-2023.2-aarch64.tar.gz .\/ ~\/ide $ cp \/data\/data\/com.termux\/files\/home\/storage\/shared\/Download\/CLion-2023.2.tar.gz .\/ #\u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u043c ~\/ide $ tar -xf .\/ideaIU-2023.2-aarch64.tar.gz ~\/ide $ tar -xf .\/CLion-2023.2.tar.gz<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c:<\/p>\n<pre><code class=\"bash\">~\/ide $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh: 176: exec: \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/jbr\/bin\/java: not found<\/code><\/pre>\n<p>\u041d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a Java. \u0414\u0435\u043b\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">#java \u0434\u043b\u044f clion ~ $ export CLION_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/ #\u0438 \u0434\u043b\u044f idea ~ $ export IDEA_JDK=\/data\/data\/com.termux\/files\/usr\/opt\/openjdk\/<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0448\u0438\u0431\u043a\u0430:<\/p>\n<pre><code class=\"bash\">~\/ide $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh libsqliteij error: java.lang.AssertionError: Cannot create SvgCacheManager         at com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:54)         at com.intellij.openapi.diagnostic.Logger.error(Logger.java:419)         at com.intellij.ui.svg.SvgCacheManagerKt.createSvgCacheManager(SvgCacheManager.kt:62)         at com.intellij.ui.svg.SvgCacheManagerKt$createSvgCacheManager$1.invokeSuspend(SvgCacheManager.kt)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:32)         at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)         at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)         at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) Caused by: java.lang.UnsatisfiedLinkError: \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/libsqliteij.so: dlopen failed: library \"libc.so.6\" not found: needed by \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/libsqliteij.so in namespace (default)         at java.base\/jdk.internal.loader.NativeLibraries.load(Native Method)         at java.base\/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:384)         at java.base\/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:228)         at java.base\/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:170)         at java.base\/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)         at java.base\/java.lang.Runtime.load0(Runtime.java:751)         at java.base\/java.lang.System.load(System.java:1912)         at org.jetbrains.sqlite.SqliteLibLoaderKt.loadSqliteNativeLibrary(sqliteLibLoader.kt:42)         at org.jetbrains.sqlite.SqliteLibLoaderKt.loadNativeDb(sqliteLibLoader.kt:30)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:32)         at org.jetbrains.sqlite.SqliteConnection.&lt;init>(SqliteConnection.kt:21)         at com.intellij.ui.svg.SvgCacheManagerKt.connectToSvgCache(SvgCacheManager.kt:76)         at com.intellij.ui.svg.SvgCacheManagerKt.access$connectToSvgCache(SvgCacheManager.kt:1)         at com.intellij.ui.svg.SvgCacheManagerKt$createSvgCacheManager$2$1.invokeSuspend(SvgCacheManager.kt:53)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.Dispatche1dTask.run(DispatchedTask.kt:106)         at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)         at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100)         ... 4 more<\/code><\/pre>\n<p>\u041e\u043a\u0435\u0439. \u0427\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u0435\u043d\u044c\u043a\u043e\u0435. \u0413\u0443\u0433\u043b\u0438\u043c &#8212;\u00a0<a href=\"https:\/\/github.com\/termux\/termux-packages\/issues\/11606\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux\/termux-packages\/issues\/11606<\/u><\/a>\u00a0<a href=\"https:\/\/wiki.termux.com\/wiki\/Differences_from_Linux\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/wiki.termux.com\/wiki\/Differences_from_Linux<\/u><\/a><\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 glibc &#8212; \u0432 Linux \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f Glibc\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Glibc\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/en.wikipedia.org\/wiki\/Glibc<\/u><\/a>\u00a0\u0430 \u0432 Android &#8212; Bionic\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Bionic_(software\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/en.wikipedia.org\/wiki\/Bionic_(software<\/u><\/a>)<\/p>\n<p>\u0418 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 &#8212; \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c glibc\u00a0<a href=\"https:\/\/github.com\/termux-pacman\/glibc-packages\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux-pacman\/glibc-packages<\/u><\/a>\u00a0\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u0443\u0436\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438.<br \/>\u042f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u00a0<a href=\"https:\/\/github.com\/termux-pacman\/glibc-packages\/issues\/61\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/termux-pacman\/glibc-packages\/issues\/61<\/u><\/a>\u00a0\u041e\u043d \u043f\u043e\u043c\u043e\u0433 \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438, \u043d\u043e \u043d\u0435 \u0441\u043e \u0432\u0441\u0435\u043c\u0438.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u044f \u0432\u0430\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0432\u0442\u043e\u0440\u043e\u0439.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0437\u043d\u0430\u0435\u043c \u0447\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u043b\u0438\u0431\u0430 libsqliteij &#8212; \u0441\u043b\u0435\u0434\u044b \u0432\u0435\u0434\u0443\u0442 \u0432 IDEA\u00a0<a href=\"https:\/\/github.com\/search?q=repo%3AJetBrains%2Fintellij-community%20libsqliteij&amp;type=code\" rel=\"noopener noreferrer nofollow\"><u>https:\/\/github.com\/search?q=repo%3AJetBrains%2Fintellij-community%20libsqliteij&amp;type=code<\/u><\/a><\/p>\n<p>\u0420\u0430\u0441\u0447\u0435\u0445\u043b\u044f\u0435\u043c git &#8212; \u0431\u0443\u0434\u0435\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 IDEA \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<pre><code class=\"bash\">~ $ git clone https:\/\/github.com\/JetBrains\/intellij-community.git ~ $ cd intellij-community\/platform\/sqlite\/<\/code><\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u043f\u0446\u0438\u0438 \u043b\u0438\u043d\u043a\u043e\u0432\u0449\u0438\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u0411\u0435\u0437 \u043d\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 make.sh \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c<br \/><code>linkFlags=\"-Wl,-S,-x\"<\/code><br \/>\u043d\u0430<br \/><code>linkFlags=\"-Wl,-S,-x,-lm,-lc,-ldl\"<\/code><\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c OS, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 &#8212; \u0441 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c clang \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f &#171;cannot locate symbol &#171;log&#187;&#187;<\/p>\n<pre><code class=\"bash\">~\/intellij-community\/platform\/sqlite $ export OS=linux ~\/intellij-community\/platform\/sqlite $ export ARCH=aarch64 ~\/intellij-community\/platform\/sqlite $ export CC=gcc-13 ~\/intellij-community\/platform\/sqlite $ .\/make.sh<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432 IDEA \u0438 CLion<\/p>\n<pre><code class=\"bash\">~\/intellij-community\/platform\/sqlite $ cp .\/target\/sqlite\/linux-aarch64\/libsqliteij.so \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/native\/linux-aarch64\/ ~\/intellij-community\/platform\/sqlite $ cp .\/target\/sqlite\/linux-aarch64\/libsqliteij.so \/data\/data\/com.termux\/files\/home\/ide\/idea-IU-232.8660.185\/lib\/native\/linux-aarch64\/<\/code><\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c:<\/p>\n<pre><code class=\"bash\">~\/sqlite $ \/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/bin\/clion.sh Start Failed Unable to detect graphics environment 2023-08-18 22:13:27,505 [     95]   WARN - #c.i.i.AppStarter - Unable to load JNA library (os=Linux 4.14.190-26178195-abt865xxu5dwc3, jna.boot.library.path=\/data\/data\/com.termux\/files\/home\/ide\/clion-2023.2\/lib\/jna\/aarch64) java.lang.UnsatisfiedLinkError: Unable to locate JNA native support library         at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1018)         at com.sun.jna.Native.&lt;clinit>(Native.java:221)         at com.intellij.jna.JnaLoader.load(JnaLoader.java:19)         at com.intellij.idea.StartupUtil$loadSystemLibsAndLogInfoAndInitMacApp$1$2.invokeSuspend(StartupUtil.kt:366)         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)         at<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-353295","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=353295"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/353295\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=353295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=353295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=353295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}