Вы выполняете целочисленное деление. Вам необходимо выполнить деление с плавающей запятой.
В вашем коде division
значение Int
. 4 / 6
равно нулю в целых делениях.
Вам нужно:
let division = 4.0/6.0
print(division)
Dudes, я думаю, что здесь много выстрелов в темноте. В некоторых случаях Clean и Sync Project помогут только после устранения проблемы.
Step1: Итак, перейдите и посмотрите вверху каждого файла, где пакет указан следующим образом pakage="YourURL.YourProject";
и убедитесь, что указан правильный пакет (ваш собственный проект). Вы найдете это в java-файлах и AndroidManifest.xml, и важно, чтобы java-файлы ссылались на правильный пакет, так как этот пакет содержит ресурсы («R»), на которые вы указываете. Если они не совпадают, ошибка не может устранить Symbol R.
Шаг 2: Очистить, синхронизировать, что угодно. Done
Итак, почему это происходит случайно или что я делал неправильно?
Если вы копируете и вставляете код, вы должны обратить пристальное внимание на «package =», как описано выше , Что еще более важно, когда вы вставляете код, он сразу же запускает своего рода отладчик (Извините мой плохой технический термин), чтобы показать вам «предполагаемые ошибки», в котором сразу же принимается во внимание «Неверный пакет», и вы получаете все ошибки. Поэтому, даже если вы сразу исправили нотацию после вставки, отладчик уже обновился. Вот почему «Clean, Sync, Whatever» работает ИНОГДА
Просто очистите проект и синхронизируйте проект с Gradle File. [/g0]
И проблема будет решена.
Это была большая головная боль для меня. В моем случае ошибка появилась после настройки «Службы Google Play» в Android Studio (установка + build.gradle config). Это, в свою очередь, требует minsdk> 7, но ошибка очень неясна в этом (на самом деле жалоба на это появляется только как «информация»). В любом случае .. при изменении minsdk до 8 как в файле манифеста, так и в файле build.gradle и при восстановлении проекта ошибка исчезла.
Итак, общий совет об этом, если я могу обобщить - у вас, вероятно, есть некоторые проблемы в вашем файле манифеста или в каком-либо другом файле конфигурации, что предотвращает правильную сборку. Попытайтесь найти действительно тяжелый отчет об ошибке, даже сообщения под названием «информация» для любого намека на то, что это может быть ...
`У меня была такая же проблема, и она была решена с помощью:
1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches
//imp step
5) Check your xml files properly.`
У меня есть специальный случай для этой проблемы.
В моем проекте все идет хорошо, он может скомпилироваться и успешно скомпилироваться, но в моей среде Android Studio IDE (и я также пробовал Intelligent IDEA, они в той же ситуации), файл R.java может не должны быть хорошо решены и всегда должны быть красными.
Это почти сошло с ума, я не могу вынести цвет чтения, когда я программирую.
Наконец-то я обнаружил, что эта сложная проблема возникает из-за моего размера файла R.java. Мой проект очень большой, он поддерживает множество многоязычных и многоэкранных размеров. Существует так много ресурсов, что размер моего файла R.java составляет около 2.5M.
Максимальный размер файла в Android Studio составляет 2,5 М в настройках по умолчанию, поэтому файлы, превышающие этот предел, не могут быть хорошо решены. И вы можете изменить настройки по умолчанию в «AndroidStudio-root / bin / idea.properties».
изменить эту строку:
idea.max.intellisense.filesize=2500
на:
idea.max.intellisense.filesize=5000
Затем перезапустите студию Android, красный цвет уволен, я могу запрограммировать еще раз.
У меня есть аналогичная проблема, и вот что я сделал:
clean project и Sync Project with Gradle,
[/g0]
проверьте версию buildTools в моем sdk [/g1]
Из изменения градиента сборки (модуля) minSdkVersion от 8 до 9
defaultConfig {
applicationId "PackageName"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
Но все это не помогло.
Наконец, я нашел ответ (это сработало в моем случае)
Изменить с build.gradle (module: app)
android {
compileSdkVersion 21
buildToolsVersion '21.0.1'
......
....
}
Или
выберите Файл | Изменение структуры проекта Инструменты сборки Версия до 21.1.1
[/g2]
Просто перейдите в список Android Top menu. нажмите «Меню сборки», в разделе «Построить» нажмите «Восстановить проект».
Do: Build> Clean Project
ВАЖНО: убедитесь, что у вас нет ошибок после очистки проекта в панели сообщений (Alt + 0). Если вы найдете красные круги с восклицательным знаком, вы должны удалить эти ошибки в своем коде.
В основном эти ошибки связаны с @ string / или @ array /. Очистить проект еще раз!
Недавно вы обновили свои инструменты SDK? Запустите менеджер Android SDK и убедитесь, что у вас есть новейшие инструменты SDK, которые теперь отделены от инструментов платформы. У меня была такая же проблема, когда я впервые обновил свой менеджер SDK, пакет инструментов SDK build не отображался для установки / обновления, пока я не закрыл и не открыл диспетчер SDK.
Это он.
Например, у меня была запись в my strings.xml
:
<string name="A">Some text</string>
И в activity_main.xml
я использовал эту строковую запись
<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>
Пока работал с проектом, я удалил это
<string name="A">Some text</string>
И, следовательно, activity_main.xml
стал недействительным. В результате: невозможно разрешить R.
Итак, проверьте свои файлы *.xml
и очистите проект.
Ваш код просто скремблирован. Ответ довольно прост.
Just go to **Build** --> **Clean Project**.
Это должно сделать трюк.
Я использую Android Studio 3.0.1 .
У меня недавно была эта проблема, и чистая / сборка и т. д. не разрешала ее. Я догадался, что у меня была проблема, но не была уверена, где искать ее (это было в манифесте, ресурсах xml-файлов и т. Д.?).
Когда что-то не так, вы можете узнать, что это выполнив прогон анализа кода.
Из меню в верхней части выберите:
Анализ -> Проверьте код, просмотрите весь проект, используя профиль «По умолчанию».
Результаты вашего осмотра будут содержать элемент под названием «Android». Здесь вы получите список всего, что вызывает проблемы в ваших ресурсах и файл манифеста. Ошибки откроют сгенерированные файлы xml из вашей сборки, которые будут отображать любые ошибки в красном.
Моя точная проблема была вызвана тем, что я использовал файлы манифеста, основанные на стиле, и я скопировал некоторые разрешения внутри <application>
тег в аромате случайно.
UPDATE: У меня была проблема после того, как Android Studio все еще обнаружила ошибку после исправления, хотя я теперь можно строить и работать отлично, пока ошибка все еще существует. (Я запускаю канареечную сборку, так что на данный момент это не так)
Брат, файл R.java содержит ссылку между xml и java-страницей. «R не может быть разрешено» возникают только в том случае, если есть проблемы с некоторыми вашими файлами ресурсов. Таким образом, лучший и эффективный способ - удалить последний сделанный xml или извлечь в res-файле. и затем снова начать оттуда в соответствии с нормами кодирования Android. Это единственный способ. Эффективный и правильный путь.
Также используйте Git для правильного отслеживания кода. ..
Счастливое кодирование ..:)
Я думаю, что если вы поместите файлы своих действий в другую папку, кроме стандартной. Вам нужно импортировать файл com.example.yourproject.R (это ваш файл проекта R файла NOT Android.R) для ВСЕХ действий с использованием R. Например, в файле MainActivity вставьте эту строку:
import com .example.yourproject.R;
В последних версиях Android Studio, по крайней мере для меня, следующие работы:
«Инструменты» -> «Android» -> «Sync Project with Gradle Files»
В последней версии Android Studio 3.1.3 (июль 2018 г.) в главном меню доступен «Sync Project with Gradle Files».
Мне пришлось импортировать мой пакет R
в студию Android. Для ex: import com.example.<package name>.R
В этой проблеме, по-видимому, много причин. Недавно я добавил активность для тестирования с помощью метода NewActivity. Это создало файл с именем res/menu/new.xml
, а gradle не понравилось это имя, потому что new является зарезервированным словом.
blockquote>
gradlew clean
или
blockquote>
"Tools" -> "Android" -> "Sync Project with Gradle Files"
Это, безусловно, хорошие вещи, чтобы попробовать, но у вас могут возникнуть другие проблемы, которые необходимо решить, прежде чем запускать эти команды.
У меня было это с
Build->Clean Project
– AjayCodes
29 April 2018 в 01:03
Build> Clean Project
Это сработало для меня. Имел ту же проблему несколько раз, и это, похоже, правильно. Если вы не изменили что-то или не назовете переменную R. Эта проблема обычно происходит из ниоткуда, когда это происходит со мной, поэтому я представляю, что его просто студии Android волнуются. haha
Имейте хороший, и удачи с вашими проектами.
Если вы видите эту ошибку после перемещения java-файлов или каталогов в другие местоположения, вы можете гарантировать, что Android Studio запуталась. И угадай что? отмена этих действий не устраняет проблему.
Итак, вы пытаетесь очистить, но это не работает.
И перезапуск тоже не работает.
Но попробуйте File -> Invalidate Caches / Restart ... -> Invalidate and Restart
Android Studio поддерживает информацию о том, какие файлы зависят от других файлов. И поскольку перемещение файлов вокруг не выполняется правильно, перемещение файлов вызывает ошибки. И это еще не все: кеши этих зависимостей используются в попытке ускорить сборку.
Это означает, что вы не только должны перезагружаться, но вам необходимо аннулировать эти кэши для восстановления (или, точнее, перестроить) здравомыслие.
У меня была такая же проблема, и в большинстве случаев она разрешена
Но на этот раз ошибка сохранялась даже после выполнения всех этих действий, и, наконец, я нашел виновника.
Проблема была в xml файл, где я дал обычное строковое значение для android:id
вместо ресурса ресурса id .
MISTAKE
android:id="username"
CORRECTION
android:id="@id/username"
Отказывание вещей, связанных с
blockquote>resources
в xml-файлах, является основной причиной этой ошибки. Остерегайтесь того, что он не может быть показан как ошибка в файле макета xml.ПРИМЕЧАНИЕ
В большинстве случаев компилятор показывает вам источник ошибки в сообщении. Попробуйте сначала проверить его, прежде чем пытаться использовать другие решения
Есть много причин для этой ошибки.
<Button/>
, но он по-прежнему объявлен в любой операции или фрагменте .java. Лучший способ отслеживания ошибки - перестроить его довольно чисто или синхронизация, выполняющая преднамеренную ошибку.
Если это не решит вашу проблему, тогда, должно быть, должна быть какая-то ошибка или ошибка времени выполнения или возникшая ошибка из-за неправильного использования ресурсов в может быть как java, так и xml-файлом в вашем коде или дизайне, который заставляет градлу останавливаться, потому что (R) esource файл не может правильно индексировать ваши ресурсы, и вы должны признать это.
Если ваш проект запустился до того, как вы внесли изменения, изменения, которые вы внесли, и попытайтесь перестроить проект.
Он, безусловно, будет работать, поскольку изменений не будет.
Чтобы отследить точную ошибку, проверьте изменения, изменяется на меньший модуль.
Например: если вы делаете список видимым с нажатием кнопки и вставляете значения списка в адаптер, сначала проверьте, можете ли вы сделать его видимым или нет, а затем проверьте наличие ошибок адаптера.
Я столкнулся с этой проблемой, когда вручную переименовал папку домена своего приложения. Чтобы исправить эту проблему, мне пришлось
package
папки <manifest>
в AndroidManifest.xml
. android:name
<activity>
в AndroidManifest.xml
. Меню файлов -> Недействительный кеш / перезагрузка ...
< / blockquote>Проблема исчезнет, как только студия Android перезапустит и построит новый индекс.
Это очень старый вопрос, но он все еще случается очень много, и здесь нет полноценного ответа.
У меня была эта проблема больше раз, чем я хочу признать. Это может быть вызвано множеством проблем, которые в основном связаны с вашей структурой проекта, не соответствующей ожидаемым. Вот список всех проблем, которые у меня были:
. Импорт из Eclipse в Android Studio не всегда работает гладко, особенно со старыми версиями Android Studio. Убедитесь, что вы используете правильное дерево каталогов. Это должно выглядеть так: для умеренно зрелого приложения:
AppName/ // AppName is your app's name, obviously
.gradle/ // This is a compiler created directory. You should normally leave it alone
.idea/ // Ditto
build/ // This too
gradle/ // And this
app/
build/
libs/
src/
androidTest/ // Tests based on the Android instrumentation runner should go here
main/
java/
fully/ // Typically com
qualified/ // the domain name. Longer package
// names may have deeper folder trees
AppName/ // All your java files go here
res/
drawable-*/ // One of these for each resolution you support
layout/ // All of your general layouts
menu/ // All of your menu layouts
values/ // All of your resource xml files
xml/ // PreferenceScreen layouts go here
AndroidManifest.xml
debug/
test/ // Pure jUnit tests should go here
.gitignore
app.iml
build.gradle // This is the gradle file you should be making most changes to
proguard-rules.pro
.gitignore
build.gradle // This gradle file should mostly be left alone
gradle.properties
gradlew
local.properties
AppName.iml
settings.gradle
Возможно, это не так выглядит в вашей среде IDE. Существует надпись над файловым деревом, которая отображает ваши файлы по-разному, и по умолчанию моя система называется Android, которая разбивает ваши файлы на разные типы. Легче всего решить эту проблему из проекта Project, и даже проще, непосредственно из файловой системы вашей ОС, потому что Android Studio сворачивает папки, которые содержат только одну папку на одной строке.
Особенно, если вы когда-либо измените имя своего приложения, вы должны убедиться, что исходное дерево main / java / com / domain / AppName обновлено. Также убедитесь, что тег пакета в вашем AndroidManifest.xml верен.
Если в ваших файлах Gradle или на вашем AndroidManifest.xml есть ошибки, это предотвратит правильное создание файлов ресурсов Android. Иногда файлы Gradle можно сломать, обновив Android Studio, особенно из версий до версии 1.0. Иногда это происходит потому, что он перестает поддерживать более старые версии плагина Gradle, поэтому вам нужно обновить номера версий. Иногда бывает трудно найти, что такое текущие версии. На сегодняшний день, 7/17/15, мои приложения компилируются с помощью com.android.tools.build:gradle:1.2.3
. Это находится в блоке зависимостей в самом удаленном файле gradle,
Если ваш AndroidManifest ссылается на несуществующий ресурс или ресурс, который может быть нарисован или строб, он будет разбит и вызовет эту ошибку. Иногда, если что-либо ссылается на несуществующий ресурс drawable или string, вы получите эту ошибку.
Если у вас есть файл в поврежденных ресурсах или недопустимый xml-файл, вы получите эту ошибку.
По моему опыту, иногда Android Studio просто икает без причины, и вам нужно перезапустить ее и / или ваш компьютер. Я не знаю почему, но иногда это работает.
Если у вас есть два ресурса xml с тем же именем, в каталогах, которые не переопределяют друг друга, вы можете столкнуться с этой проблемой. Например, вы можете иметь одно и то же имя в drawable-mhdpi и drawable-xhdpi, потому что они переопределяют друг друга в зависимости от целевого устройства, но если у вас есть одно и то же имя в макете и в меню, это вызовет проблему. Переименуйте или удалите один из файлов.
Если только некоторые ресурсы имеют эту проблему, эти ресурсы, скорее всего, находятся в неправильном каталоге.
В одном случае мне пришлось полностью переустановить Android Студия. Я не знаю, что было не так, но это сработало.
В одном случае я переместил весь проект в другой каталог и повторно импортировал его в качестве нового проекта. Я не знаю, что было не так, но это сработало.
Xml-файлы с зарезервированными словами для имен могут вызвать эту проблему. Переименуйте или удалите их.
Есть несколько способов, которыми ваш файл Gradle может ссылаться на версию встроенных инструментов, которые вы не установили. Исправьте это, изменив Gradle или загрузив соответствующие инструменты сборки.
Наконец, после того, как вы исправили все, что не так, вам нужно очистить проект Gradle. Вы делаете это, перейдя в меню «Построение» вверху и выбрав «Очистить проект».
Кажется, что эта запись работает нормально.
android:id="@+id/viewID"
Панель дизайна Android Studio, похоже, не работает.
изменить последнюю версию sdk, которая была для меня работа
1. Нажмите файл, а затем щелкните структуру проекта 2. затем выберите «приложение», затем нажмите «ОК», это сработало для меня.
У меня тоже была эта проблема. Простой «gradlew clean» и «gradlew build» сделали трюк.
Нажмите Build-> Clean Project и выполнит очистку gradle
Такая же проблема. Началось, когда я добавил несколько изображений в свою папку с возможностью переноса и попытался получить к ним доступ. Также добавленные изображения имели расширение с прописными буквами. Кажется, это разбило сборку, так как даже если я переименовал их, сообщение было таким же, и R было недоступно. То, что я сделал, в файле .iml, я искал excludeFolder и удалял их (например, ниже):
<excludeFolder url="file://$MODULE_DIR$/build/apk" />
<excludeFolder url="file://$MODULE_DIR$/build/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/res" />
<excludeFolder url="file://$MODULE_DIR$/build/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
После этого я перестроил проект, и R волшебным образом снова появился.
По-видимому, в моем случае проблема была решена путем добавления «*» в конце
import android.R.*;
У меня была та же проблема, и это происходит, когда я создаю новый проект.
То, что я делаю, это:
Это работает для меня.