Разрабская ночь
35.5K subscribers
97 photos
4 videos
2 files
164 links
Небольшой блог о разработке
Download Telegram
cairo-dock работает на wayland, x11, реализует множество спецификаций. Чем он хуже noctalia о котором все говорят?
1
обновил litoli-sdk, теперь вы можете максимально просто используя nix собирать как минимум cmake проекты под любые линуксы ,безо всяких там nixGL и других костылей https://github.com/lunardoesdev/litoli
2
доработал еще, теперь там без дополнительных флагов хорошо работают cmake, meson, cargo
2
По итогу я получил достаточно опыта в кросс-компиляции с nix, чтобы уверенно определиться, что nix мне не нравится: много спагетти-кода, в котором зарыты собственно нужные вещи вроде выбранной libc и , флагов компиляции, в devShell нет тех хуков для подтягивания компиляторов и тулчейна, которые есть в рецептах пакетов, из-за чего эти хуки приходится писать руками если хочешь повторяемый dev environment.

Планирую чуть поподробнее попробовать bazel и docker для задач простых повторяемых тулчейнов для кросс-компиляции
2
поисковик https://presearch.com/ вроде ищет лучше гугла и duckduckgo
2
ковыряюсь тут с базелем, оказалось нет, не умеет он еще сам качать android sdk, поэтому пользуюсь штукой которую сделал до этого:
nix develop -vvv git+https://github.com/lunardoesdev/insanity-envs#android
2
android sdk, java и gradle устанавливаются автоматически. Нужные компоненты sdk устанавливаются автоматически. Кажется, мы близки к тому чтобы иметь нормальную разработку под андроид
https://github.com/lunardoesdev/lampo
А вы знали, что mise может устанавливать из github releases?
mise use -g github:Genymobile/scrcpy
загружаю первое свое андроид приложение в стор
Devlog 2 - generating android signing key

To upload my app, i need to generate signing key:
keytool -genkey -v -keystore ~/lunatic-release-key.jks \
-alias lunatic-alias \
-keyalg EC \
-groupname secp256r1 \
-validity 109500 \
-dname "CN=Lunatic, O=Lunatic, C=US"

And upload certificate using my signing key:
keytool -export -rfc -keystore ~/lunatic-release-key.jks \
-alias lunatic-alias \
-file ~/upload_certificate.pem

build aab:
gradle bundleRelease

sign aab:
jarsigner -keystore ~/lunatic-release-key.jks /path/to/release.aab lunatic-alias

now this aab is signed.
we can verify that:
jarsigner -verify /path/to/file.aab

there are some warnings, but it’s good.
weird additions
store requires to pack keystore and certificate and send to them, which by the way breaks any sense since we are basically sending our private key to the store. Anyways, lets pack our keystore for uploading:
java -jar pepk.jar \
--keystore=$HOME/lunatic-release-key.jks \
--alias=lunatic-alias \
--output=$HOME/pepk_out.zip \
--encryptionkey=encryption-key-provided-by-store \
--include-cert

key password is same as store password
do note I used $HOME instead of ~ because otherwise java thinks it’s just ~ symbol, not home path, and command breaks.
солидно оформил readme
❤‍🔥1
devlog 3 f-droid preparations

My next task is to publish my flashlight app to f-droid to become popular and finally get my job sometime. 
https://f-droid.org/docs/Submitting_to_F-Droid_Quick_Start_Guide/
So they want you to clone https://gitlab.com/fdroid/fdroidserver
then pass it as a volume to their registry.gitlab.com/fdroid/fdroidserver:buildserver container… as a cache probably?
and also clone https://gitlab.com/fdroid/fdroiddataand pass it as volume as well, this is where you will create your app description and recipe and then send a merge request so it will be added to f-droid
docker run --rm -itu vagrant --entrypoint /bin/bash \
-v ~/fdroiddata:/build:z \
-v ~/fdroidserver:/home/vagrant/fdroidserver:Z \
registry.gitlab.com/fdroid/fdroidserver:buildserver

This is interactive container where you want to run the build stricltly as documented:
. /etc/profile
export PATH="$fdroidserver:$PATH" PYTHONPATH="$fdroidserver"
export JAVA_HOME=$(java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' | awk -F'=' '{print $2}' | tr -d ' ')
cd /build
fdroid readmeta
fdroid rewritemeta com.example
fdroid checkupdates --allow-dirty com.example
fdroid lint com.example
fdroid build com.example

If any command, such as fdroid readmeta, returns an error, edit ~/fdroiddata/metadata/com.example.ymlaccordingly and try running the command again.
After successful build:
exit # (from container)
cd ~/fdroiddata
git add metadata/com.example.yml
git commit -m "New App: com.example"
git push origin com.example

They really want “New App: something“ label and [com.example] branch depending on id of your app.
👍1
по всем гайдам собрал и оформил мерж реквест в f-droid https://gitlab.com/fdroid/fdroiddata/-/merge_requests/40959
1
похоже, f-droid не нуждается в моих разработках и весь мой труд по оформлению кучи метаданных, сборке в их докере и регистрации и отправке PR был сделан зря
https://izzyondroid.org/docs/general/Fastlane/ у izzyondroid лучше документация, попробую когда-нибудь к ним опубликоваться раз f-droid больше не нужны разработчики
можно добавить мой фонарик через obtainium: добавьте в него https://github.com/lunardoesdev/lampo
https://codeberg.org/IzzyOnDroid/repodata/issues/303#issuecomment-17937140 не приняли меня в izzyOnDroid тоже, не хочу пытаться врать и догадываться а какой уровень использования ИИ допустим и высчитывать на сколько процентов я следую их правилам