Android Command line tools sdkmanager zawsze pokazuje: ostrzeżenie: nie można utworzyć ustawień
Używam nowych narzędzi wiersza poleceń Androida, ponieważ stare repozytorium sdk-tools Androida nie jest już dostępne. Więc zmieniłem gitlab-ci, aby załadować commandlintools. Ale kiedy próbuję go uruchomić, dostaję następujący błąd:
Warning: Could not create settings
java.lang.IllegalArgumentException
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Już próbowałem wykonać te polecenia ręcznie, ale dostaję ten sam błąd. Również jeśli uruchamiam sdkmanager --version
, występuje ten sam błąd.
Mój gitlab-ci wygląda tak:
image: openjdk:9-jdk
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -d android-sdk-linux android-sdk.zip
- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
#- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null
- echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/
- chmod +x ./gradlew
# temporarily disable checking for EPIPE error and use yes to accept all licenses
- set +o pipefail
- yes | android-sdk-linux/tools/bin/sdkmanager --licenses
- set -o pipefail
stages:
- build
- test
lintDebug:
stage: build
script:
- ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint
assembleDebug:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
debugTests:
stage: test
script:
- ./gradlew -Pci --console=plain :app:testDebug
18 answers
Zamiast przekazywać argument --sdk_root
dla każdego pojedynczego wykonania polecenia, zagłębimy się głęboko w rzeczywistą przyczynę.
Począwszy od narzędzia wiersza poleceń Android SDK 1.0.0 (6200805), W przeciwieństwie do Android SDK 26.1.1 (4333796), hierarchia katalogów tools
została zmieniona.
Wcześniej był umieszczony bezpośrednio wewnątrz ANDROID_HOME
(co jest przestarzałe, użyjemy terminu ANDROID_SDK_ROOT
do reszty akapitu), teraz nadal jest nazwany tools
(jedyna rzecz, którą otrzymasz po rozpakowanie pobranego pliku commandlinetools zip), ale inaczej, trzeba umieścić go w katalogu o nazwie cmdline-tools
na własną rękę. Nazwa cmdline-tools
pochodzi od nazwy pakietu, skąd można pobrać polecenie listing packages sdkmanager --list
, którego wyjścia zawierają cmdline-tools;1.0 | 1.0 | Android SDK Command-line Tools
.
Owinięcie katalogu tools
wewnątrz katalogu cmdline-tools
sprawi, że będzie on działał i pomoże Ci pozbyć się irytującego argumentu --sdk_root
. Ale co z pozostałymi częściami?
- król -
sdkmanager
mieszka wewnątrzcmdline-tools/tools/bin
, lepiej ustawićPATH
zmienną środowiskową -
{[5] } nie powinno być ustawione jako
ANDROID_SDK_ROOT
. Ponieważ później, podczas aktualizacji Android SDK lub instalowania większej liczby pakietów, pozostałe pakiety zostaną umieszczone wANDROID_SDK_ROOT
, ale nie wcmdline-tools
. - ostateczna, kompletna struktura katalogów
ANDROID_SDK_ROOT
powinna wyglądać jak poniżej, składa się z kilku podkatalogów:build-tools
,cmdline-tools
,emulator
,licenses
,patcher
,platform-tools
,platforms
,system-images
. Możesz łatwo zauważyć, żebuild-tools
icmdline-tools
są rodzeństwem, wszystkie siedzą wewnątrz rodzicaANDROID_SDK_ROOT
.
Podsumuję w prosty sposób:
- Ustaw swoje preferowane
ANDROID_SDK_ROOT
(tak jak wcześniej) - Pobierz i rozpakuj plik zip commandlinetools do katalogu o nazwie
cmdline-tools
, który znajduje się wANDROID_SDK_ROOT
- dodaje Katalog
$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
do zmiennej środowiskowejPATH
, aby system wiedział, gdzie znaleźćsdkmanager
!!Aktualizacja!!
[51]}zachowanie zmieniło się ponownie od czasu kompilacji6858069
(Android SDK Command-line Tools 3.0):
- po rozpakowaniu pakietu, najlepszym katalogiem jaki otrzymasz jest
cmdline-tools
. - Zmień nazwę rozpakowanego katalogu z
cmdline-tools
natools
i umieść go pod$ANDROID_SDK_ROOT/cmdline-tools
, więc teraz powinien wyglądać następująco:$ANDROID_SDK_ROOT/cmdline-tools/tools
. A w środku powinieneś mieć:NOTICE.txt bin lib source.properties
. W rzeczywistości zgodnie z oficjalnymi narzędziami wiersza poleceń doc , drzewo struktura powinna byćandroid_sdk/cmdline-tools/version/bin/
, ale sprawdziłem, użycieversion
lubtools
nie robi tu żadnej różnicy. - dla Twojej zmiennej środowiskowej
PATH
, Polecam ustawić tak:PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
, ponieważ po aktualizacji później otrzymasz najnowsząsdkmanager
umieszczoną pod$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
, umieszczenie jej z przodu spowoduje, że będzie miała wyższy priorytet.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-14 22:19:54
Wygląda na to, że jest to błąd związany ze sposobem, w jaki sdkmanager lokalizuje folder instalacyjny SDK.
Obejściem jest ustawienie flagi --sdk_root
. Możesz przenieść deklarację ANDROID_HOME wyżej, a następnie użyć jej z kolejnymi poleceniami.
- export ANDROID_HOME=$PWD/android-sdk-linux
- yes | android-sdk-linux/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} --licenses
- android-sdk-linux/tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
Przeniesiono również polecenie akceptacji licencji koca do pierwszego polecenia, aby wyczyścić echo y
części.
Co dziwne, jeśli uruchomisz sdkmanager --sdk_root=${ANDROID_HOME} "tools"
zaktualizuje narzędzia z 3.6.0 do 26.1.1 i sdkmanager nie ma już tego problemu. Ta aktualizacja wymaga czasu i przepustowości i nie jest to dokładnie konieczne z obejściem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-05 13:27:39
Dla tych, którzy zmagali się z instalacją narzędzi wiersza poleceń Androida dla Appium na Windows 10 / x64, wykonaj następujące czynności:
- Pobierz najnowsze narzędzia wiersza poleceń z Androida, np. commandlinetools-win-6200805_latest.zip
- Rozpakuj pobrany plik
- Utwórz katalog do przechowywania narzędzi wiersza poleceń gdzieś na dysku, z następującą ścieżką: android / cmdline-tools/latest zasadniczo po rozpakowaniu tego narzędzia wiersza Cmd, po prostu zmień nazwę tools katalog do latest i upewnij się, że umieściłeś ten latest folder w Android/cmdline-tools gdzieś na dysku
- Utwórz ANDROID_HOME zmienną środowiskową dla katalogu, który przechowuje lokalizację katalogu cmdline tools: C:\YourLocationWhereYouStoreTheDirectory\android\cmdline-tools\latest
- Utwórz nowy wpis w zmiennej środowiskowej Path jako % ANDROID_HOME% \ bin
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-09 10:44:19
Menedżer SDK próbuje ustalić ścieżkę android-sdk na podstawie miejsca, w którym jest rozpakowany, bez użycia zmiennych środowiskowych, takich jak ANDROID_SDK_ROOT. Ale jest jeszcze gorzej, ponieważ ma twardy zakodowany folder nadrzędny o nazwie cmdline-tools i jeśli rozpakujesz commandlinetools wewnątrz folderu o innej nazwie, to nie działa, zmuszając nas do użycia parametru sdk_root do poprawnego podawania zmiennej wewnętrznej.
Mając to na uwadze, możemy użyć następującego podejścia do rozwiązania tego problemu.
I założymy, że używamy Ubuntu OS, więc jeśli nie, należy dostosować niektóre z tych instrukcji.
-
Zainstaluj Android-SDK.
sudo apt install android-sdk
Po instalacji będziesz miał folder o nazwie android-sdk w /usr / lib
-
Utwórz folder o nazwie cdmline-tools wewnątrz folderu android-sdk
sudo mkdir /usr/lib/android-sdk/cmdline-tools
- Pobierz zip narzędzi wiersza poleceń Androida z tego miejsca ( https://developer.android.com/studio?hl=en-419#downloads )
-
Rozpakuj właśnie pobrany plik w /usr / lib / android-sdk / cmdline-tools
sudo unzip /path/for/commandlinetools-linux-6200805_latest.zip -d /usr/lib/android-sdk/cmdline-tools
-
Go to you home dir and edit your .profil
nano .profile
-
Utwórz zmienną ANDROID_SDK_ROOT
export ANDROID_SDK_ROOT=/usr/lib/android-sdk
-
Umieść folder sdkmanager w ścieżce
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$PATH
- Zapisz i zakończ
-
Reload you profile
. ~/.profile
-
Run
sdkmanager --version
W terminalu powinna być wydrukowana wersja.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-11 00:59:46
Pobieranie nowych narzędzi cmdline ze strony programisty Androida wymaga przestrzegania następującej struktury katalogów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-22 14:59:30
Mieszanie odpowiedzi od Jing Li i caller9, to jest mój skrypt:
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get update --yes
- apt-get install --yes wget tar unzip lib32stdc++6 lib32z1
- export ANDROID_HOME=${PWD}android-home
- install -d $ANDROID_HOME
- wget --output-document=$ANDROID_HOME/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- pushd $ANDROID_HOME
- unzip -d cmdline-tools cmdline-tools.zip
- popd
- export PATH=$PATH:${ANDROID_HOME}/cmdline-tools/tools/bin/
- sdkmanager --version
- set +o pipefail
- yes | sdkmanager --sdk_root=${ANDROID_HOME} --licenses
- set -o pipefail
- sdkmanager --sdk_root=${ANDROID_HOME} "platforms;android-${ANDROID_COMPILE_SDK}"
- sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools"
- sdkmanager --sdk_root=${ANDROID_HOME} "build-tools;${ANDROID_BUILD_TOOLS}"
- export PATH=$PATH:${ANDROID_HOME}/platform-tools/
- chmod +x ./gradlew
[...]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-16 15:12:11
Mam ten sam problem, przyszedł tutaj przez Google. Według AndroidStudio Archiwum, dzisiaj było wydanie 4.1. To nie przypadek.
Ten całkowicie niepowiązany przewodnik zawiera hardlink do starszej wersji sdk-tools for linux. Możesz zmienić adres url na windows lub mac dla innych systemów operacyjnych. Na razie użyję tego jako poprawki.
(to miał być komentarz a nie Rozwiązanie)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-28 18:30:20
Znalazłem rozwiązanie, aby użyć najnowszych narzędzi wiersza poleceń, wykonując następujące kroki:
1-wyodrębnienie narzędzi wiersza poleceń do folderu o takiej strukturze:
np.: $HOME/Development/android/cmdline-tools/latest
(ten folder musi zawierać lib, bin, uwaga.txt i źródło.właściwości )
2-Definiowanie ANDROID_HOME jako zmiennej środowiskowej:
ANDROID_HOME="$HOME/Development/android/cmdline-tools/latest"
3-ładowanie na ścieżka :
PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/lib:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-02 21:45:06
Chciałbym podzielić się swoim doświadczeniem.
Na początku staram się wyjaśnić dlaczego struktura katalogów musi wyglądać sposób pokazany w tej odpowiedzi - https://stackoverflow.com/a/60460681/1758733 . https://stackoverflow.com/users/668455/tristan poprosił kilka razy o wyjaśnienie, więc mam nadzieję, że wyjaśnię situtacja z następnym eksperymentem:
1. unpack cmdline-tools to any path, for example c:\Android\tools;
2. create a folder for SDK, let it be c:\Android\SDK;
3. install cmdline-tools (yes, we install cmdline-tools again =)):
c:\Android\tools\bin\sdkmanager --sdk_root=c:\Android\SDK "cmdline-tools;latest"
4. at this moment we can examine c:\Android\SDK and locate
the path c:\Android\SDK\cmdline-tools\latest. If we compare
this folder with the previous version c:\Android\tools we find out
that they are identical. The new installed c:\Android\SDK\cmdline-tools\latest\sdkmanager works
without --sdk_root argument so we could initially unpack cmdline-tools
to cmdline-tools\latest.
Można napotkać inny problem - utknął w ".android/repozytoria.cfg nie może być załadowany."
Inne kwestie i fakty:
1. QtCreator works with another sdkmanager that placed in SDK_ROOT/tools/bin
2. SDK_ROOT/tools/bin/sdkmanager works only with JDK 8
3. Java uses its own storage for certificates and it's not convinient usually.
Thus one may want to use Windows certificate store. Unfortunately Grandle has the
issue - https://stackoverflow.com/a/59056537 - so use the following:
set JAVA_OPTS=-Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL
Podsumowując można sformułować następujący przepis na rozwój z Qt:
1. download commandlinetools-win-6200805_latest.zip
2. extract cmdline-tools so there will be hierarchy
SDKROOT
- cmdline-tools
- latest
- bin
- sdkmanager.bat
- ...
- lib
- ...
3. install JDK 8. set JAVA_HOME=c:\path\to\java so that %JAVA_HOME%/bin/java.exe exists.
4. set JAVA_OPTS=-Djavax.net.ssl.trustStoreType=Windows-ROOT -Djavax.net.ssl.trustStore=NUL
5. NDK may be downloaded manually or installed with sdkmanager
6. install required components:
SDKROOT\cmdline-tools\latest\bin\sdkmanager "tools" "build-tools;BUILD_TOOLS_VERSION" "platform-tools" "platforms;ANDROID_VERSION"
7. run qtcreator from console so JAVA_OPTS is taken into account (or set it globaly for windows user or even station)
8. tools -> options -> devices set paths to JDK 8, SDKROOT and NDK
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-24 19:14:15
Mam ten sam błąd. Po wykonaniu wszystkich rozwiązań nie mogłem tego naprawić. Rozwiązałem ten problem czytając: https://forum.unity.com/threads/android-build-not-working.844969/
Uprość ODPOWIEDŹ:
- otwieranie menedżera sdkmanagera.bat by notepad++
- zmiana linii z
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
To
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS% --sdk_root=%ANDROID_HOME%
(Uwaga: dodanie --sdk_root=%ANDROID_HOME%
na końcu
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-05 13:10:58
Zdarzyło mi się to podczas pobierania samodzielnych narzędzi wiersza poleceń (commandlinetools-mac-6200805_latest
) na nowym Macu.
Opierając się na wszystkich odpowiedziach tutaj, udało mi się to zrobić tak
# Define ANDROID_HOME, if not defined already
export ANDROID_HOME="~/Library/Android/sdk"
# Create the folder if missing
mkdir -p $ANDROID_HOME
# Let the tool know that it should use that SDK location.
sdkmanager --list --sdk_root=$ANDROID_HOME
Dokumenty dla opcji --sdk_root
mówią " użyj określonego katalogu głównego SDK zamiast zestawu SDK zawierającego to narzędzie ". To sprawiło, że pomyślałem, że pomimo wysyłki samodzielnej, narzędzie spodziewa się być częścią pakietu, w którym SDK jest zainstalowany, jak również.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-08 05:09:20
Narzędzia Android SDK znajdują się teraz w następującej lokalizacji: "android_sdk / cmdline-tools / version / bin/";
Dlatego aby rozwiązać ten problem w Windows (to samo może być replikowane w innych systemach operacyjnych), wykonaj następujące czynności:
W folderze
android_sdk
utwórz folder:cmdline-tools
, A wewnątrz niego Utwórz inny folder:version
rozpakuj / umieść wszystkie swoje pliki " /bin / lib NOTICE and sources.właściwości " plików wewnątrz tego folderuversion
.Ustaw
ANDROID_HOME
na Twójandroid_sdk
folder.- Dodaj do swojej ścieżki systemowej:
android_sdk\cmdlineAndroidSDK\cmdline-tools\version\bin\
Podobnie umieść swoje Narzędzia Platformy Android SDK wewnątrz android_sdk/platform-tools/
i dodaj odpowiednie PATH
do ENVIRONMENTAL VARIABLES
Pod System Variables
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-23 15:53:35
Ta strona z Dokumentacji Unity 2018 zawiera również dobre wyjaśnienie rozwiązania tego problemu, w tym takie punkty jak:
- Instalacja Android SDK bez Android Studio.
- Obejście dla "Warning: Could not create settings" I " java.lang.IllegalArgumentException " Trick dla Android Studio w wersji 3.6 lub nowszej.
- ostrzeżenie o Javie 9 lub nowszej, JDK musi być w wersji 8.
Https://docs.unity3d.com/2018.4/Documentation/Manual/android-sdksetup.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-01 16:10:42
ODPOWIEDŹ by jing-li works for me Zamiast przekazywać argument --sdk_root dla każdego pojedynczego wykonania polecenia, zagłębimy się głęboko w rzeczywistą przyczynę.
Począwszy od Android SDK Command-line Tools 1.0.0 (6200805), w przeciwieństwie do Android SDK 26.1.1 (4333796), hierarchia katalogów narzędzi została zmieniona. Wcześniej był umieszczony bezpośrednio w ANDROID_HOME, teraz nadal jest nazywany tools (jedyną rzeczą, którą dostaniesz po rozpakowaniu pobranego pliku ZIP commandlinetools), ale inaczej, trzeba umieścić go w katalogu o nazwie cmdline-tools na własną rękę. Nazwa cmdline-tools pochodzi od nazwy pakietu, gdzie można uzyskać z listy packages polecenie sdkmanager --list, którego Wyniki zawierają cmdline-tools;1.0 | 1.0 | Android SDK narzędzia wiersza poleceń.
Owijanie katalogu tools wewnątrz katalogu cmdline-tools sprawi, że będzie on działał i pomoże Ci pozbyć się irytującego argumentu --sdk_root. Ale co z pozostałymi częściami?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-18 06:31:15
Pierwszym wymogiem instalacji SDK (dowolnej metody) jest zainstalowanie Java & ustawienia JAVA_HOME ścieżka.
Następnie narzędzia wiersza poleceń SDK potrzebują ścieżki instalacji, bez której wyrzuca NullPointerException.
Aby to przezwyciężyć, wystarczy przejść ścieżkę, na której chcesz zainstalować SDK z argumentem "--sdk_root"
np. sdkmanager.bat "platform-tools ""platforms; android -" --sdk_root=
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-20 05:05:02
Jeśli używasz Linuksa i jednocześnie nie chcesz mieszać rąk ze złożonymi obejściami, polecam pobrać i użyć Snap version of sdkmanager.
Pamiętaj, aby użyć androidsdk
zamiast sdkmanager
w terminalu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-12 08:46:59
Podsumowując kilka przydatnych postów tutaj, a dla osób, które chcą szybkiego fragmentu, na przykład podłączyć Dockerfile
, działa dla mnie następujący skrypt:
RUN mkdir -p /opt/android/cmdline-tools/latest \
&& cd /opt/android/cmdline-tools/latest \
&& wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip \
&& bsdtar --strip-components=1 -xvf commandlinetools-linux-6858069_latest.zip \
&& yes | bin/sdkmanager --licenses \
&& bin/sdkmanager "build-tools;29.0.2" "platforms;android-29" \
&& rm commandlinetools-linux-6858069_latest.zip
Wymaga tylko zainstalowania bsdtar
(zwykle jest pakowany w popularne dystrybucje). Android platform/build tools Wersja 29 są zainstalowane, a Android sdk root zostanie umieszczony w /opt/android
. Podczas gdy ta konfiguracja działa dla mnie bez ostrzeżeń, mam problem podczas ponownej instalacji pakietów już zainstalowanych lub możliwe instalowanie różnych wersji pakietów: koliduje z pakietami już obecnymi i tworzy fałszywe katalogi w katalogu głównym sdk, z -2
, -3
przyrostki. Katalogi te są następnie ignorowane, a ostrzeżenia takie jak Observed package id 'emulator' in inconsistent location
są drukowane, więc takie zachowanie nie jest zdecydowanie pożądane. Jeśli masz poprawkę, napisz ją w komentarzach lub, jeśli jesteś wystarczająco pewny, po prostu Edytuj skrypt z dokładną poprawką.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-13 12:55:31
Android Studio jest niezbędne podczas instalacji narzędzi wiersza poleceń, nawet jeśli nie jest to edytor, z którego używasz aplikacji. Odznaczenie przestarzałej karty packages i pobranie narzędzi powinno to zrobić; powinno to usunąć problem z licencją i możesz wrócić do swojego ulubionego IDE (np. VS Code).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-26 18:29:10