Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.75 KB | None | 0 0
  1. Ну вообщем на андроиде из коробки в Qt openssl нету. Это значит что все твои https коннекты невозможны и вообще куча шифрования недоступно.
  2. Нашел решение - нужно привязать отдельно openssl либу в проект. На сайте qt конечно же не сказано какая версия, откуда качать и как интегрировать в проект. Естественно, готовую либу и хедеры скачать нельзя - её тупо не дистрибутируют для андроида.
  3. Знач надо билдить из сорсов. Хорошо, смазка у меня заготовлена, кляп в рот и пагнал.
  4. Качаю сорсы, нашел гайд по компиляции либы на сайте openssl. Делаю всё по гайду ХУЯК НЕ КОМПИЛИТСЯ ОШИБКА 0000000A. Ну че епта, гуглим ошибку, неправильная версия питона у тебя такая-то, а надо другая. Ну бля хуле ставим питон. Бля забыл зарегать его снова в гугл бля как это сделать нахуй, виден только старый питон. Нашел, зарегал, ахуеннно. Чето даже начало компилиться, целых 2 минуты компилилось ВЫЛЕЗЛА ошибка 0000000B. Блядь ну пощади меня сучара, что на этот раз. Лезу в гугл.
  5. Оказывается, самая новая версия openssl 1.0.7.4.3.3.0.t не компилится под Android, надо только версию до 1.0.4.6.7.5.b. Блядь а где скачать? На сайте только новая и устаревшая 0.98. Ну блядь лезу ищу по всем сайтам где скачать такую-то версию. Нашел фтпшник со всеми релизами. Качаю.
  6. Распаковал, заново начинаю компилировать. Прошло 10 минут УРА БЛЯДЬ скопилировалось, БЕЗ ОШИБОК. Стоп а куда скомпилировалось? БлЯЯЯЯЯДЬ. Оно скоплилило либу к динамическим сошкам и привязала линки на конкретную папку (то есть чтобы либа заработала, надо будет на андроид закинуть в /usr/lib эту хуйню). Ну еб твою мать мне просто нужны openssl.so без линков нахуй. Лезу в гугол. Че? Надо makefile поменять? Очищаю всё, распаковываю, меняю makefile по гайду. Жду три минуты, не компилится с ошибкой 000000000C. Лезу в гугл, ошибка известная, все кроют хуями разрабом и предлагают свои варики, нахожу гайд 4х летней давности с совсем другой последовательностью компиляции либы. Для компиляции надо скачать специальный скрипт, качаю с сайта требующим реги.
  7. НУ ЩАС ТО ВСЁ ТОЧНО БЛЯДЬ ЗАРАБОТАЕТ!
  8. Удаляю опять к хуям всё, распаковываю, компилирую. БЛЯДЬ опять забыл makefile поменять, пиздец.
  9. Меняю makefile, компилирую. УРА, на выходе ва файлика - openssl.so libcrypto.so, как я и хотел епта. Линкую в Qt Creator. Он мне жалуется при компиляции, что неправильная архитектура. Ебать мой хуй, а че я скомпилил? Ну блядь канеш для x86, а на андроиде arm. Ну хуле лезу в makefile, вроде все переменные указал правильно - путь до SDK, архитектуру и тд. Вывожу на всякий случай на экран - нихуя make эти переменные не видит и юзает дефолтный конфиг. Ок, не буду гуглить и ебаться, просто захардкодю их внутрь configurate скрипта.
  10. Запускаю и УРА блядь готовы отличьненькие либы мои милые вде сошки. Линкую в проект, всё компилится, ПИЗДЕЦ НУ АХУЕТЬ.
  11.  
  12. Деплою на устройтсво, запускаю приложуху. Вылетает при старте. ЭЭ бля че за нах. Читаю logcat: library Qt-libcrypto not found, library openssl not found. И краш, потому что либы не найти.
  13. Как так в чем проблема?
  14. Лезу в гугл, проблема действительно есть, дело в том, что хоть ты и сбилдил openssl статически, но всё равно там внутри прописывается версии либ, и твоя либа имеет название например openssl.so.5. А Андроид такие либы с точками линковать не умеет, потому что у них имя необычное. Одно из решений - открыть либы librypto и openssl и изменить все упоминания openssl.so.5 на openssl_5.so (например, убрать точку короче лишнюю, точный текст не скажу). Ну достаю из своего уже широкого ануса свой hex-редактор и начинаю пыхтеть над либами и искать че под замену. Раза с 3го у меня получилось всё верно и либы залинковались.
  15. Деплою на устройство - всё видит, всё запускается, https коннект есть, всё работает короче. Слава Украине, Смерть Москалям!
  16.  
  17. Через день босс заходит недовольный - мой плеер чето не качает нихуя файлы с сервака.
  18.  
  19. Я тестил на 4м и 5м андроде, а вот у него - новенький 6й нексус, и на нем нихуя не работает. Как так то?
  20. Оказывается вот конкретно вот эта версия openssl содержит баг, при котором не коннектится на 6й версии андроида (там чето внутри порезали в самой системе, внутри чето поменялось и openssl полетел к хуям).
  21. Ну качаю версию openssl с фиксом, и всё проделываю заново.
  22. Прошло еще 3 часа ебли с компиляцией, фиксами, патчами в hexредакторе и МОЯ либонька openssl готова. Пиздец.
  23.  
  24. А сука жиробас напротив js-макакич, пукич, какич - тупо блядь всё имеет из коробки. И вот тут меня накрывает нахуй завистью.
  25.  
  26. У красноглазого ублюдка который с этим сталкивается не первый раз наверное бы получилось всё быстрее, но на тот момент я вообще не был готов к такому повороту, пиздец.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement