Android studio projects location

Устраняем ошибку: Your SDK location contains non-ASCII characters при установке Android Studio

При установке Android Studio столкнулся с проблемой установки SDK. Нажать кнопку «Next» нельзя, а внизу с пометкой «внимание» находится надпись: Your SDK location contains non-ASCII characters . Что делать в такой ситуации? Я нашел два рабочих решения.

Причина ошибки

Она банальна. Имя вашей учетной записи Windows написано не на английском. А программа брезгует устанавливать файлы в директорию, если папка в ней указана на другом языке (русский, турецкий, испанский, арабский и прочее).

Варианты устранения ошибки

Процесс устранения сводится к тому, чтобы обеспечить англоязычный путь к Android\ SDK.

Вариант 1: изменение пути

Банальный способ, который помог обойти ошибку:

    Зайдите на диск C: и создайте две папки Android\SDK.

  • Вернитесь в Android Studio Setup Wizard.
  • В пути Android SDK Location выберите путь установки C:\ Android\ SDK.

    Нажимайте Next и ждите завершения установки.

    Вариант 2: смена имени пользователя

    Более замороченный способ со сменой имени профиля на англоязычное. Пока вы находитесь в этой учетной записи, переименовать папку невозможно. Поэтому:

    1. Через поиск найдите CMD и откройте от имени администратора.
    2. Введите команду net user Администратор /active:yes
    3. Выйдите из системы и зайдите в профиль только что включенной учетки администратора.
    4. Нажмите ПКМ на Пуск и выберите «Управление компьютером».
    5. Перейдите в раздел Управление компьютером — Локальные пользователи — Пользователи, нажмите ПКМ по имени учетной записи и отредактируйте ее.

  • Далее перейдите в Проводник — Диск C: — Пользователи и переименуйте папку на такое же имя, как редактировали до этого.
  • Теперь откройте строку Выполнить (Win+R) и введите regedit
  • Перейдите по директории HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList
  • Измените параметр вашего старого имени на новое.

  • Выйдите из учетной записи Администратора и зайдите в свою.
  • Вновь откройте командную строку и пропишите net user Администратор /active:no.
  • Приступайте к установке Android Studio.

    Кстати говоря, способ, который находится в поиске, на первой странице в ютубе, не работает. По отзывам видно, что не у одного меня.

    При создании символической ссылки командой mklink /D «C:\ android-sdk» «C:\ Users\ Игорь\ AppData\ Local\ Android\ sdk, она не отображается в пути установщика, а через проводник выдает «расположение недоступно».

    В общем, устаняйте ошибку Android Studio, а сайт добавляйте в закладки. И до скорых встречь!

    Источник

    How to Set Java SDK Path in Android Studio?

    The Java SDK for Android is a sophisticated suite of tools for managing, monitoring, profiling, and debugging Java code written in Android Studio. But sometimes as software is unpredictable you might be caught in an error that Android Studio stopped compiling projects and says that it can’t locate the 1.7.0_21 folder. Well, this is exactly what is referred to as a missing Java SDK Path.

    How to Fix the Java SDK Path?

    There are several methods that can help you resolve this issue, the ones which have the highest score in fixing this problem are mentioned below:

    Method #1: For Android Studio Version 4.2 and Above

    Navigate to File > Project Structure > SDK Location. Upon navigating there you will find that a tab named “JDK Location”, select that and then you can set the JDK path for the current project on which you’re working.

    Image I. Setting Project SDK location in 4.2 & +

    Method #2: For Android Studio Version Below 4.2

    Chances are that you might be rocking an older version of Android Studio, if yes then

    Navigate to File > Project Structure > [Platform Settings] > SDKs

    You’ll then need to either update your current SDK setup to make use of the new directory or create a new directory and then adjust the settings in your project to make use of the new directory. This will make it applicable to the present project.

    Method #3: Adding a new SDK to Your Android Studio

    Sometimes only updating your SDKs won’t allow you to compile projects just because the SDK has lived its life and requires an update to itself. In that scenario, you’ll need to recreate the configurations from 0.

    1. Navigate to Project Structure > Platform Settings > SDKs and click the “+” button.
    2. Go to your Android SDK folder and select “Choose” on the pop-up.
    3. A new pop-up window will open, asking which SDK and JDK you’d want to use. Select any Android SDK and the JDK 1.7.

    Note: Change your Project SDK to the one you just established under Project Structure > Project Settings > Project. The name of the SDK should now include the new Java version that you installed.

    Method #4: For the Command Line Enthusiasts

    If you want to be a Geek and the above methods are just too much GUI for you, you might want to handle the SDK path using the terminal. In order to achieve that using the command line, follow the below commands in the Android Studio’s Terminal

    and just like that, you’ve achieved the desired result

    Note: the ‘oldjre‘ here refers to your old JRE path

    Method #5: Using the Embedded SDK

    If you are on Android Version 3.2 or older then you’ll be having the option of using the embedded JDK & SDK for your project and that is one of the optimal ways you can fix this issue as Android Studio will handle the management of the services in the Backend!

    Navigate to File > Project Structure > JDK Location and Checkmark the box saying “Use embedded JDK (recommended)”.

    Image II. Checking the Recommended JDK Location

    Method #6: Setting and Viewing SDK using the Studio Project Structure

    If all the above-mentioned ways didn’t work out for you, the best you can do is to get the SDK path of another Android Studio Project and then providing that path to your particular project (as in Method #1)

    Press Ctrl (Command on Mac) + Alt + Shift + S

    Then in the SDK Location tab, you will find your SDK Location, just copy it and paste it in the SDK Location as mentioned in Method #1.

    Источник

    Данные о местоположении

    В приложениях для мобильных устройств особенно важную роль играют данные о местоположении, применение которых способно обеспечить пользователю дополнительное удобство, где бы он ни находился.

    Примеры кода

    Хранилище ApiDemos на сайте GitHub содержит пример, который демонстрирует использование данных о местоположении на карте.

    Java

    • MyLocationDemoActivity: использование слоя «Мое местоположение», включая динамические разрешения.
    • LocationSourceDemoActivity: использование собственного источника LocationSource .
    • CurrentPlaceDetailsOnMap: определение текущего местоположения устройства Android и отображение сведений об организации или другом объекте, который там находится. Ознакомьтесь с руководством по отображению сведений о месте на карте.

    Kotlin

    • MyLocationDemoActivity: использование слоя «Мое местоположение», включая динамические разрешения.
    • CurrentPlaceDetailsOnMap: определение текущего местоположения устройства Android и отображение сведений об организации или другом объекте, который там находится. Ознакомьтесь с руководством по отображению сведений о месте на карте.

    Работа с данными о местоположении

    Устройствам Android могут быть доступны данные о текущем местоположении (для их сбора используется комбинация нескольких технологий), о направлении и способе движения, а также о том, покинуло ли устройство геозону, т. е. пересекло ли оно заданную географическую границу. Работать с данными о местоположении можно несколькими способами в зависимости от задач конкретного приложения.

    • Слой Мое местоположение представляет собой простой способ отобразить местонахождение устройства на карте. Он не возвращает никаких данных.
    • Для всех программных запросов данных о местоположении рекомендуется использовать Location API сервисов Google Play.
    • Интерфейс LocationSource позволяет использовать собственный источник данных о местоположении.

    Доступ к данным о местоположении

    Если приложению требуется доступ к данным о местоположении пользователя, вы должны запросить разрешение, добавив в приложение соответствующие настройки.

    Android предлагает два разрешения на использование данных о местоположении: ACCESS_COARSE_LOCATION и ACCESS_FINE_LOCATION . От вашего выбора зависит, насколько точную информацию будет предоставлять API. Вам необходимо запросить только одно из разрешений на использование данных о местоположении Android в зависимости от требуемого уровня точности:

    • android.permission.ACCESS_COARSE_LOCATION позволяет использовать точки доступа Wi-Fi и/или мобильные данные, чтобы определять приблизительное местоположение устройства. API предоставляет информацию о местоположении с точностью примерно до городского квартала.
    • android.permission.ACCESS_FINE_LOCATION позволяет API максимально точно определять местоположение на основании информации, предоставляемой поставщиками данных о местоположении, включая глобальную систему позиционирования (GPS), сеть Wi-Fi и мобильные данные.

    Добавление разрешений в манифест приложения

    Добавьте одно из следующих разрешений в качестве дочернего для элемента в манифесте Android. Укажите разрешение для данных о приблизительном местоположении:

    Или разрешение для данных о точном местоположении:

    Запрос разрешений в среде выполнения

    В Android 6.0 (Marshmallow) представлена новая модель работы с разрешениями, которая оптимизирует процесс установки и обновления приложений пользователями. Если ваше приложение предназначено для API уровня 23 или более позднего, вы можете использовать новую модель разрешений.

    Если приложение поддерживает новую модель разрешений, а на устройстве используется Android 6.0 (Marshmallow) или более новая версия, пользователю не нужно предоставлять какие-либо разрешения при установке приложения или его обновлении. Пользователь увидит диалоговое окно с просьбой предоставить соответствующее разрешение.

    Чтобы обеспечить удобство для пользователя, важно запрашивать доступ в контексте. Если эта информация необходима для работы приложения, запрашивайте разрешение при запуске. Для этого рекомендуется использовать экран приветствия или мастер с объяснением причины запроса.

    Если доступ к данным о местоположении необходим приложению лишь для некоторых функций, то запрос следует показывать лишь при выполнении действия, требующего такого разрешения.

    Приложение должно корректно продолжить работу, если пользователь откажется предоставить доступ. Например, если разрешение требуется лишь для определенной функции, приложение может просто отключить ее. Если же приложение неспособно работать без этих данных, в нем могут отключиться функциональные возможности. При этом следует проинформировать пользователя о том, что для дальнейшей работы нужен доступ к данным о местоположении.

    В следующем примере кода проверка разрешения выполняется с использованием библиотеки поддержки перед включением слоя «Мое местоположение»: Затем результат запроса разрешения обрабатывается путем реализации ActivityCompat.OnRequestPermissionsResultCallback из библиотеки поддержки.

    Kotlin

    Слой «Мое местоположение»

    Слой «Мое местоположение» и одноименная кнопка позволяют пользователям видеть свое актуальное местоположение на карте. Чтобы включить слой «Мое местоположение», вызовите метод mMap.setMyLocationEnabled() .

    Простой пример использования слоя «Мое местоположение»:

    Kotlin

    Если включен слой «Мое местоположение», соответствующая кнопка отображается в правом верхнем углу экрана. При нажатии этой кнопки камера центрирует карту по текущему местоположению устройства, если оно известно. На карте местоположение обозначается маленькой синей точкой, если устройство неподвижно, или значком шеврона, если устройство находится в движении.

    На скриншоте ниже вы можете увидеть кнопку «Мое местоположение» справа вверху и синюю точку в центре карты.

    Чтобы предотвратить показ кнопки «Мое местоположение», вызовите UiSettings.setMyLocationButtonEnabled(false) .

    Ваше приложение может реагировать на следующие события:

    • Если пользователь нажимает кнопку «Мое местоположение», ваше приложение получает обратный вызов onMyLocationButtonClick() от прослушивателя GoogleMap.OnMyLocationButtonClickListener .
    • Если пользователь нажимает на синюю точку «Мое местоположение», ваше приложение получает обратный вызов onMyLocationClick() от прослушивателя GoogleMap.OnMyLocationClickListener .

    Важный пункт Условий использования

    Обеспечивайте конфиденциальность пользователей,
    информируйте их о том, что происходит в приложении.

    Всегда сообщайте пользователям, как вы собираетесь применять их данные. Препятствуйте персональной идентификации пользователей по их данным. Перед применением данных о местоположении обязательно получите разрешение. Дайте пользователям возможность в любое время отозвать его.

    Location API сервисов Google Play

    Данные о местоположении в приложениях для Android лучше всего обрабатывать с помощью Location API сервисов Google Play. Он позволяет выполнять следующие задачи:

    • определять местоположение устройства;
    • отслеживать изменение местоположения с помощью прослушивателей;
    • определять способ движения, если местоположение устройства меняется;
    • создавать геозоны и отслеживать пересечение их границ.

    Location API упрощает создание приложений, работающих с данными о текущем местоположении пользователя и эффективно расходующих ресурс аккумулятора устройства. Как и Maps SDK for Android, Location API распространяется как часть SDK сервисов Google Play. Дополнительную информацию вы можете найти в учебном материале об использовании в приложении данных о местоположении, а также в документации по Location API. Примеры кода содержатся в SDK сервисов Google Play.

    Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

    Источник

    Читайте также:  Датчик эхолота для андроид
  • Оцените статью