Sync cradle android studio

Синхронизация проекта Android Studio с файлами Gradle

Я работал над проектом, а затем получил приглашение обновить Android Studio. После этого я начал получать эту ошибку при попытке запустить приложение

проект может потребоваться синхронизировать с файлами Gradle

Как мне решить эту проблему?

5 ответов

нажатие кнопки «синхронизировать проект с файлами Gradle» должно сделать трюк:

Tools -> Android -> Sync Project with Gradle Files

Если это не удается, попробуйте запустить «Rebuild project»:

Build -> Rebuild Project

редактировать

начиная с Android Studio 3.1, вы должны пойти в:

File -> Sync Project with Gradle Files

Ответ

при попытке запустить приложение, вместо выбора каталога выделены здесь в синий

Я выбрал подкаталог вместо

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

Новое Решение

на Sync project with gradle files кнопка исчезла из Android Studio на некоторое время.Его обратно, и вы можете найти его здесь:

нажмите кнопку и дождитесь завершения задачи

у меня была эта проблема после установки плагина genymotion (другой Android amulator). Более тщательная проверка показала, что gradle нуждается в SDK tools версии 19.1.0 для запуска (у меня было 19.0.3 ранее).

чтобы исправить это, мне пришлось изменить build.gradle и под android я изменился на: buildToolsVersion 19.1.0

затем мне пришлось перестроить снова, и ошибка исчезла.

Источник

Синхронизация проекта Android Studio с файлами Gradle

Я работал над проектом, а затем получил приглашение обновить Android Studio. После этого я начал получать эту ошибку при попытке запустить приложение

Возможно, проект должен быть синхронизирован с файлами Gradle

Как я могу это решить?

Нажатие кнопки «Sync Project With Gradle Files» должно сделать трюк:

Tools -> Android -> Sync Project with Gradle Files

Если это не удается, попробуйте запустить проект «Реконструкция»:

Build -> Rebuild Project

Старый ответ

При попытке запустить приложение вместо выбора каталога, выделенного здесь синим цветом

Вместо этого я выбрал подкаталог

И щелкнули «запустить». Все проблемы с Gradle автоматически разрешаются, и автоматически пропадает пропавшая директория apk.

Новое решение

Проект Sync project with gradle files исчез из Android Studio на некоторое время. Он возвращается, и вы можете найти его здесь:

Нажмите кнопку и дождитесь завершения задачи.

У меня возникла эта проблема после установки плагина genymotion (еще одного Android-амулятора). Более пристальное внимание уделено тому, что для выполнения градиента нужны инструменты SDK версии 19.1.0 (раньше у меня было 19.0.3).

Чтобы исправить это, мне пришлось редактировать build.gradle и под android я изменил на: buildToolsVersion 19.1.0

Затем мне пришлось снова перестроить, и ошибка исчезла.

У меня была эта проблема вчера. Можете ли вы использовать локальный путь в проводнике Windows?

Мне пришлось вручную создать каталог «apk» в «\ build», тогда проблема была исправлена

Источник

Android Studio, как запустить синхронизацию вручную?

Я отлаживаю проблемы Gradle в Android Studio и вижу ссылки на «Запустить синхронизацию Gradle», но я не уверен, как запустить эту команду.

Как запустить «Gradle Sync» из студии Android или терминала Mac?

Студия Android должна иметь эту кнопку на панели инструментов с пометкой «Синхронизировать проект с файлами Gradle».

РЕДАКТИРОВАТЬ: я не знаю, когда это было изменено, но теперь это выглядит так:

РЕДАКТИРОВАТЬ: это то, как это выглядит в 3.3.1, ИЛИ, перейдя в File -> Sync Project with Gradle Files из строки меню.

ВНИМАНИЕ : —recompile-scripts команда устарела с gradle версии 5.0. Чтобы проверить свою gradle версию, запустите gradle -v .

Читайте также:  Remote desktop windows from android

он выполнит синхронизацию, ничего не создавая.

В качестве альтернативы с помощью командной строки в корневом проекте

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

Чтобы увидеть все доступные задачи Gradle, используйте ./gradlew tasks

В Android Studio 3.3 он находится здесь:

Согласно ответу https://stackoverflow.com/a/49576954/2914140 в Android Studio 3.1 он находится здесь:

Эта команда перемещена в File > Sync Project with Gradle Files .

Любители сочетаний клавиш могут добавить ярлык для запуска синхронизации gradle вручную, перейдя в Файл -> Настройки -> Раскладка клавиатуры -> Плагины -> Поддержка Android -> Синхронизировать проект с файлами gradle (щелкните его правой кнопкой мыши, чтобы добавить сочетание клавиш) -> Применить — > ОК, и готово. Выберите любую удобную клавишу в качестве сочетания клавиш Gradle Sync, которое не конфликтует с другими сочетаниями клавиш (я выбрал Shift + 5 в качестве моей клавиши синхронизации Gradle), поэтому затем, когда вы хотите запустить синхронизацию Gradle вручную, просто нажмите эту комбинацию клавиш.

Я предполагаю, что это относится к Инструменты> Android> «Синхронизировать проект с файлами Gradle» в главном меню Android Studio.

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

Пожалуйста, обратитесь к документации для получения дополнительной информации:

Ярлык (Ubuntu, Windows):

Синхронизирует проект с файлами Gradle.

Думаю то ./gradlew tasks же самое с Android studio sync . Зачем? Я объясню это.

Я столкнулся с проблемой при тестировании отчета о покрытии jacoco. Когда я запускаю ./gradlew clean :Test:testDebugUnitTest напрямую из командной строки, появляется ошибка.

Однако, если я сначала нажму «Синхронизация студии Android», все будет нормально. Потому что они build/../jacocoagent.jar выглядят естественно. Не знаю почему, возможно, в плагине jacoco есть ошибка. Устройство, которое я нахожу работающим, также .gradlew tasks вызывает появление банки. Так что я могу получить тот же результат в скрипте gralde.

К тому gradle —recompile-scripts же не работает проблема.

У меня проблемы с доказательством того, что gradlew clean — это не чистая сборка ADT. И теперь я изо всех сил пытаюсь исправить это.

Вот что у меня получилось: я установил configProductID = 11111 из моего gradle.properties, из моего build.gradle я добавляю

Если я сделаю чистую сборку из ADT, можно сгенерировать ресурс R.string.ProductID. Тогда я могу успешно выполнить следующую команду.

Но поскольку я пытаюсь настроить сервер сборки, мне не нужна помощь от ADT IDE, поэтому мне нужно избегать использования чистой сборки ADT. Вот и моя проблема. Теперь я меняю имя своего ресурса с «ProductID» на «myProductID» и делаю:

Я получаю ошибку

Если я попробую:

Я просто получаю ошибку

Любой, кто хочет использовать командную строку для синхронизации проектов с файлами Gradle, обратите внимание:

Начиная с Gradle 5.0,

Параметр командной строки —recompile-scripts был удален.

Источник

Synchronise your Gradle files and get some insight about the Android Studio cache

This tip explains how to synchronize your project with Gradle when updating build.gradle files and provides insight on handling the cache when using Android Studio.

There are multiple levels of cache. We will explain the difference between the cache behind the «Invalidate cache and restart» menu, the «Clean project» one and other gradle caches involved in building an Android project.

This article is not specific to Pepper QiSDK and introduces good practices for using the IDE.

Synchronize a project with Gradle Files¶

When you make changes to the build configuration files in your project, Android Studio requires that you synchronize (i.e. sync) your project files so that the IDE can import the new build configuration and run some tests to make sure there are no build errors.

In order to build projects, Android Studio needs the information contained in Gradle files. These files contain instructions on what dependencies to download and package within your application, information about versions, application id, and other information used to build the packages.

When you create a project you generally have two build.gradle files: one to configure project-wide properties and another one at module level. When your project structure view is set to Android the two files look as follow:

build.gradle (Project: YourFooAppName)

build.gradle (Module: app)

Читайте также:  Гу kia soul 2021 android

Gradle files and your application code need to be synced if any Gradle file changes, for example when updating dependencies or adding new dependencies manually.

This is the case when the project is robotified (see ‘Result’ of section Creating a robot application). The build.gradle of your module will then get two lines added or updated to the API level you have chosen (the exact version number may vary):

implementation ‘com.aldebaran:qisdk:1.7.5’
implementation ‘com.aldebaran:qisdk-design:1.7.5’

Android Studio should automatically sync the project with Gradle when you robotify your app (ie make it compatible with Pepper’s tablet).

If it does not, then choose menu File > Sync project with Gradle Files or use the elephant icon Sync project from the menu bar to sync your project files manually.


Gradle Sync project icon

If Android Studio notices any errors with your configuration, the Messages window appears with more details about the issue.

Once Gradle files are synced, your project will have access to the necessary libraries, such as the QiSQK ones. You can then use code autocompletion to import libraries.

Understanding Android Studio caches¶

Different types of caches¶

Android Studio caches a lot of files to speed up its use and build time. This cache is necessary to improve, for example, the performance of the IDE or some time-consuming tasks repeated at every build. This could lead to the system cache becoming overloaded or inconsistent.

There are different types of caches in Android Studio or used by Android Studio plugins. Let’s check in details:

  • Android Studio System cache
  • Gradle build caching
  • AGP Android Gradle Plugin cache

Android Studio System cache¶

You can clear the Android Studio System cache using «Invalidate cache and restart». It mainly deals with the indexes and improves Android system performance.

Gradle build caching¶

This cache contains the built packages and the intermediate files involved at packaging your application. It can be found in two different locations:

  • In the build/ directory in your project
  • In the .gradle/caches/ directory of your Java SDK home directory

AGP Android Gradle Plugin cache¶

This cache contains other building caches and third party dependencies caches.

Now let’s consider each of these caches and explain how to clear them.

How to clear all system caches¶

Clearing the Android Studio System cache¶

The Android Studio cache contains information about the project’s structure, deals with the AS indexes and improves Android system performance.

You may need to clear the cache in several situations. For instance, moving some Java or Kotlin files or directories could lead to errors such as «Cannot resolve symbol». Using a copy of a project from another operating system may also require to clear this cache and clean the project.

If you are using Android Studio 3.6, the cache files are located in the folder $HOME/.AndroidStudio3.6/

To clear this cache, from the main menu in Android Studio , select File | Invalidate Caches / Restart. In the Invalidate Caches dialog, select an action. You can invalidate the cache and restart the IDE, invalidate the cache without restarting the IDE, or just restart the IDE.

When you invalidate the cache, Android Studio rebuilds all projects you had opened in the current version of the IDE.

Clearing the Gradle build cache¶

The Gradle build cache has two distinct parts located in two different directories:

  • In the build/ directory in your project
  • In the .gradle/caches/ directory of your Java SDK home directory

Build directory «cache» aka incremental builds

This cache handles Gradle generated code and files. Not all parts of the code are rebuilt at every build, only the necessary ones. This can speed up the build. It is located in the build/ directory(ies) within your project. If you clean and «assemble» your application, you can explore those directories to see what is generated.

Читайте также:  Включить обновления андроид самсунг

In order to clean this cache, from the main menu in Android Studio, select Build | Clean project

You can also manually clean the cache using the terminal as follow:

And to rebuild your app, run:

If you want to investigate on what is built and cached, you can use the —scan option of gradlew as follows (but this is out of the scope of this article):

Build cache

The previous «cache» applies only to your current project, on your machine. However, there is another lesser known cache, named «build cache». The build cache stores some outputs that the Android plugin for Gradle generates when building your project, e.g. unpackaged AARs and pre-dexed remote dependencies. The build cache is enabled by default in recent plugins (2.3.0+) but can be activated/deactivated using the gradle property org.gradle.caching=true

This cache is located in the directory $JAVA_SDK_HOME/.gradle/caches/ . In most cases $JAVA_SDK_HOME is your $HOME folder.

In order to clear the build cache run:

«Invalidate cache» has no impact on the «Build Cache», and «Clean Project» has no relation to the «Build Cache».

To clear gradle build caches:

  • Build directory cache (in your project)

# delete project-specific cache
$ ./gradlew clean

  • Build cache (in $JAVA_SDK_HOME/.gradle)

# delete build cache
$ rm -rf $GRADLE_HOME/caches/build-cache-*

Clearing the Android build cache¶

To complete the cache «tour», let’s present one more layer of cache: the Android Gradle Plugin (AGP) adds some complementary caching over the Gradle build one. This cache stores outputs that the Android plugin for Gradle generates when building your project (such as unpackaged AARs and pre-dexed remote dependencies).

This cache is located in the $HOME/.android/build-cache/ directory.

In order to clear the AGP cache run:

Cache cleaning cheat sheet¶

From time to time you may need to really clean your project, including all related caching. You could do that to measure how long a clean build takes, or if you have experienced a bug potentially related to one of the caches.

Let’s go through all the necessary steps to build a project, having first cleared all of the caches and then rebuilt again using them all. To do so, run the following commands:

# clear the incremental build cache
$ ./gradlew clean

# clear the Gradle build cache
$ rm -rf $GRADLE_HOME/caches/build-cache-*

# clear the AGP cache
$ ./gradlew cleanBuildCache

# clear the 3rd party dependencies cache
$ rm -rf $GRADLE_HOME/caches/modules-2
$ rm -rf $GRADLE_HOME/caches/transform-2

# stop the gradle daemon
$ ./gradlew —stop

# run a build
$ ./gradlew —scan app:assembleDebug

BUILD SUCCESSFUL in 11m 49s
279 actionable tasks: 192 executed, 82 from cache, 5 up-to-date

# re-run a build without changing anything
$ ./gradlew —scan app:assembleDebug

BUILD SUCCESSFUL in 9s
279 actionable tasks: 279 up-to-date

The time gain can be that important. Cache is certainly useful, isn’t it?

Conclusion¶

This article introduces Gradle sync and caching with Android Studio. In some situations you have to manually sync with Gradle files, run a «Clean project» or «Invalidate cache and restart», which are the main actions you should usually face when developing your apps. If they do not solve all of the issues when building your project, you also have a more complete view on how the system caching works in Android Studio.

You can explore more on the topic using Jason Atwood’s very well documented presentation of the Android Studio cache (link in Related Content section below). It is really detailed and will help you understand more of the Android Studio intricacies.

We hope you learned some new things on how to use cache on Android Studio, and that it will be helpful for your future projects. May you code well, clean well and build well!

Источник

Оцените статью