Wątek przeniesiony 2022-03-14 10:42 z Nietuzinkowe tematy przez cerrato.

Android Studio - czy to nie może po prostu działać?

0

Witam.
Ostatnimi czasy szwankuje mi VS Code. Próbuje się przerzucić na Android Studio... Kompletnie nic nie działa. Instalacja czegokolwiek jest skomplikowana i nieintuicyjna. Jak nie braki w SDK, tak emulator nie działa. Jak emulator zacznie działać to nie można projektu uruchomić na nim, bo nie wykrywa... Budowanie App Bundle (Flutter) wymaga jakiegoś dziwnego Open Android module in Android Studio. Gradle buduje zdecydowanie za długo, do tego jeszcze może dojść jego aktualizacja, bo zainstalowana wersja 4.2, a najnowsza jest 7.1.

Czy z tym zawsze takie cyrki były?

PS.

  1. VS Code nie znajduje mi importów (skrótem CTRL + . )
  2. Intelisense jest bardzo wolne

Myślałem, że Android Studio (jak sama nazwa wskazuje) będzie najlepszym rozwiązaniem...

0

Widzisz - ja mam laptopa z dual-bootem: Win10 i Linux Mint. I na Windowsie Android Studio chodzi topornie, ale ten sam komputer tylko z innym systemem - zupełnie inne odczucie. Emulator działa szybciej i sprawniej, całe IDE chodzi płynnie, zupełnie inne wrażenie z obsługi. Tak tylko mówię ;)

0

Może faktycznie najwyższa pora, aby mobilki pisać na Linuxie. Problemem może być API, ponieważ jak piszę to mam jednocześnie Visual Studio odpalone do którego łączę się lokalnie.

0

@AdamWox: No to albo wirtualka, albo niech komp z API sobie stoi obok, a Ty do niego albo fizycznie zaglądaj, albo się łącz jakimś SSH/RDP/VNC.

0
AdamWox napisał(a):

Może faktycznie najwyższa pora, aby mobilki pisać na Linuxie. Problemem może być API, ponieważ jak piszę to mam jednocześnie Visual Studio odpalone do którego łączę się lokalnie.

A musi to być VS? Możesz przerzucić się na VS Code (OmniSharp) lub Ridera. A jeśli nie developujesz tylko chodzi o samo API to odpal sobie przez dotnet run.

1

@Saalin: Są dwa problemy:

  1. API developuje zaraz obok mobilek, lub (www) pełny projekt .NET Core + Angular
  2. Piszę pod Comarch Optima w 95%... Jestem skazany na Windows
2

Ja kiedyś myślałem, że mam kiepskiego kompa bo projekt kompilował się 2 minuty, później okazało się że był jakiś bug i windows defender tak spowalniał kompilację. Po aktualizacji wszystko zaczęło śmigać.

0

Akurat kwestia czasu kompilacji mi nie przeszkadza. Przeszkadza mi, że IDE, które, jak sama nazwa wskazuje, jest do Androida, a nie działa. Przykład: Dev Console wymaga pliku aab, który jest "podpisany" jakimś tam kluczem. Co trzeba zrobić in the menu bar, click Build > Generate Signed Bundle/APK. - u mnie ta opcja w menu jest nieaktywna. Co muszę zrobić? Muszę prawym klawiszem kliknąć na projekcie -> opcja Flutter -> Open Android module in Android Studio... W nowym oknie otwiera mi się (prawie) to samo i dopiero tutaj mam opcje Generate Signed Bundle/APK...

PS.
Na szczęście można było sobie dopisać plik key.properties i odpowiednio skonfigurować gradle, aby mi się apka podpisywała w VS Code robiąc zwykłe flutter build appbundle... Aaa i tak, dalej używam VS Code

1

Z Android Studio miałem problem, ale wiele lat temu jak ten tool się intensywnie zmieniał podobnie jak Android. Teraz wszystko działa stabilnie. Oczywiście zdarzają się problemy, ale generalnie jest to dobre narzędzie. Gradle rzeczywiście może długo tworzyć builda, ale jest to też zależne od Twoich parametrów sprzętowych. Jak masz mocny sprzęt, to powinno się sprawnie się budować. Piszę o wersji linuxowej i natywnym developmencie (java/kotlin), a nie flutterze.

1
ralf napisał(a):

Ja kiedyś myślałem, że mam kiepskiego kompa bo projekt kompilował się 2 minuty, później okazało się że był jakiś bug i windows defender tak spowalniał kompilację. Po aktualizacji wszystko zaczęło śmigać.

polecam nie korzystac z windows, a z dobrych OS :)

1
AdamWox napisał(a):

Przykład: Dev Console wymaga pliku aab, który jest "podpisany" jakimś tam kluczem.

Jeżeli mówisz o tej webowej konsoli Fluttera to nie, niczego takiego nie wymaga. I ma się nijak do Android Studio zresztą. Konsola działa dobrze od razu, bez potrzeby żadnej dodatkowej konfiguracji. Jeżeli u ciebie nie działa, to znaczy że postarałeś się, żeby coś zepsuć.

Co trzeba zrobić in the menu bar, click Build > Generate Signed Bundle/APK. - u mnie ta opcja w menu jest nieaktywna. Co muszę zrobić?
Muszę prawym klawiszem kliknąć na projekcie -> opcja Flutter -> Open Android module in Android Studio... W nowym oknie otwiera mi się (prawie) to samo i dopiero tutaj mam opcje Generate Signed Bundle/APK...

Co musisz zrobić? Może przeczytać readme Fluttera? Kto ci kazał robić Build, Generate Signed Apk w projekcie Fluttera?

PS.
Na szczęście można było sobie dopisać plik key.properties i odpowiednio skonfigurować gradle, aby mi się apka podpisywała w VS Code robiąc zwykłe flutter build appbundle... Aaa i tak, dalej używam VS Code

A to co, w natywnym Androidzie (bez Fluttera) to nie trzeba podpisywać apk?

0

@gajusz800: Skoro masz lepsze wyjście i wiesz jak mam to zrobić poprawnie, to dobrze by było opisać jak to się robi.

Kto ci kazał robić Build, Generate Signed Apk w projekcie Fluttera?

Wpisałem w Google jak podpisać plik aab/apk i wyszło mi, że jest tylko ten jeden sposób używając Android Studio.

A to co, w natywnym Androidzie (bez Fluttera) to nie trzeba podpisywać apk?

Czytanie ze zrozumieniem. Szczególnie, że zacytowałeś tekst który kompletnie nijak się ma do różnicy między flutterem, a natywnością.

Konsola działa dobrze od razu, bez potrzeby żadnej dodatkowej konfiguracji. Jeżeli u ciebie nie działa, to znaczy że postarałeś się, żeby coś zepsuć.

Mam na sklepie dwie aplikacje (z tego wątku to jest ta druga). Pierwszej nie musiałem niczym podpisywać. W ogóle konsola ode mnie nie wymagała podpisanego APK. W drugiej aplikacji konsola zaczęła wymagać żeby to był plik aab, zamiast apk oraz musi być podpisany kluczem. Wrzuciłem temat w Google, odpaliłem Android Studio i napisałem ten wątek.

1

Przecież w dokumentacji Fluttera i Google wszystko jest. Już samo twierdzenie, że niczego nie musiałem podpisywać dowodzi, że nie wiesz, jak to wszystko w ogóle działa. Jeżeli apk nie będzie podpisany, to w ogóle nie da się go użyć. Nawet w trybie debug jest podpisywany, standardowym certyfikatem debug dostarczanym z AndroidSDK.

Naprawdę tak ciężko przeczytać (ze zrozumieniem) np to: https://docs.flutter.dev/deployment/android przed założeniem durnego wątku?

0

Ale durny wątek nie jest na temat podpisywania aplikacji i czytania dokumentacji. Znowu kłania się czytanie ze zrozumieniem. Durny wątek jest na temat Android Studio, który nie pozwala na zbudowanie podpisanej aplikacji out of the box... Zwłaszcza, że Flutter i Android Studio jest od Google. Musiałem grzebać w necie jak to zrobić. Otwierać projekt jako moduł i dopiero wtedy jest opcja podpisania...

PS.
Ze względu na to, że sekcja Create an upload keystore za pomocą terminala była bardzo "skomplikowana", postanowiłem użyć Android Studio, bo od tego jest.

A Tutaj info skąd wziąłem Kto ci kazał robić Build, Generate Signed Apk w projekcie Fluttera?

2

Na i właśnie to do ciebie nie dociera, że z poziomu Android Studio nie powinieneś budować apk ani aab. Powinieneś robić to z konsoli, tylko i wyłącznie. Nie powinieneś także budować bezpośrednio projektu Android tak jak napisałeś, bo najpierw Flutter musi skomplikować swoją część i potem dopiero odpalić właściwą kompilację aplikacji Android.

Kompilując przez gradlew tylko część natywną (bo to robi Android Studio ) pomijasz tą pierwszą część.

0

No i teraz nasuwa się pytanie - dlaczego? Dlaczego Android Studio będące Google'a nie jest dostosowane do Fluttera, które też jest Google'a? O tym właśnie jest ten post. Nie chce konsolą budować i podpisywać aplikacji. Chce mieć jedno centralne IDE, które zrobi dla mnie wszystko, które, jakby nie patrzeć, powinno od tego być.

Nie bardzo rozumiem postępowania Google'a. To samo teraz dzieje się z Flutterem 3. Dostosowują się do Material 3 z uwzględnieniem Material You. Co zrobili? Zrobili listę zmian do śledzenia postępu przechodzenia na Material 3 🤷‍♂️ Po co to ogłaszać, skoro to nie gotowe 🤔

1

Nie podpisujesz aplikacji z konsoli. Robi to Flutter za pośrednictwem Gradle. Musisz tylko wykonać flutter buildKliknij .Nie rozumiem, czemu to dla ciebie takie trudne, tym bardziej że debug działa normalnie w Android Studio, a release budujesz tylko wtedy, gdy wydajesz nową wersję. Ja osobiście wolę wykonać jedną komendę w konsoli, niż klikać po oknach. Poza tym, np wykonując flutter build możesz podać kilka innych argumentów, np wymusić numer buildu i wersji.

Btw, narzekanie na transparentność i pokazywanie postępu prac w projekcie open source to już malkontenctwo level hard

1 użytkowników online, w tym zalogowanych: 0, gości: 1