이클립스에서 Android용으로 개발: R.java가 재생되지 않음
저는 제 R.java가 결코 업데이트되지 않는다는 것을 알게 되었고, 그래서 저의 새로운 자원에 대한 정보가 포함되어 있지 않다는 것을 알게 되었습니다. 그래서 저는 그것을 삭제하기로 결정했고 이클립스가 새로운 자원을 생성할 것이라고 생각했습니다.하지만 그런 일은 일어나지 않았고, 저는 지금 R.java를 가지고 있지 않습니다.어떻게 재생할 수 있습니까?
Windows 7(윈도우 7)을 사용합니다.
댓글 중 하나: "프로젝트 하기 -> 청소하기가 저에게 문제를 일으켰습니다.치료 중에 R.java가 삭제됩니다...어떤 이유로든 플러그인이 파일을 재생성하지 않습니다."
저는 이것이 고장난 레이아웃과 함께 저에게 일어나고 모든 것이 폭발하는 것을 발견했습니다.안심하세요, 그것은 마치 프로그래밍 C를 처음 배울 때 세미콜론 하나를 잊어버리고 100개의 오류를 생성하는 오래된 실수와 같습니다.많은 사람들이 당황하고, 모든 버튼을 누르고, 상황을 더 악화시킵니다.
해결책
- 모든 것을 확실히 하라.
R.
에 대한 링크가 끊어지지 않았습니다.XML 파일의 모든 오류를 수정합니다.ADK에 뭔가가 고장나면,R
재생성되지 않습니다. - 어떻게든 무언가를 치고 만들어낸다면,
import android.R
활동에서 제거합니다. - 프로젝트 실행 -> 정리.그러면 R 및 BuildConfig가 삭제되고 재생성됩니다.
- Project -> Build Automatically가 선택되어 있는지 확인합니다.그렇지 않은 경우 다음을 통해 수동으로 빌드합니다.
Menu -> Project -> Build Project
. - 오류가 사라질 때까지 몇 초간 기다립니다.
- 작동하지 않으면 /gen/ 폴더 내의 모든 항목을 삭제합니다.
- 그래도 작동하지 않으면 프로젝트 -> Android 도구 -> 프로젝트 속성 수정을 마우스 오른쪽 버튼으로 클릭합니다.
- 앱 폴더의 루트 폴더에 있는 *.properties 파일을 확인하고 링크가 손상되지 않았는지 확인합니다.
- 프로젝트 > 속성 > Android에서 마우스 오른쪽 버튼을 클릭합니다.페이지 오른쪽에 있는 프로젝트 빌드 대상 및 라이브러리 섹션을 확인합니다.빌드 대상은 AndroidManifest.xml의 대상과 일치해야 합니다.Android Manifest에서 Target 17로 설정된 경우 Target Name이 Android 4.2인지 확인합니다.라이브러리에 참조 아래에 X가 있으면 녹색 체크 표시가 나타날 때까지 라이브러리를 제거했다가 다시 추가합니다.몇 개의 파일과 폴더를 이동한 경우 이 문제가 발생할 수 있습니다.
R이 재생성되지 않을 경우 수행할 작업
이 문제는 일반적으로 손상된 XML 파일이 있을 때 발생합니다.
- 파일 , 파일 내부의 합니다.
/res/
folder - 는 일적인장는소반입니다.
/layout/
그리고./values/
특히 그 중 에는 더욱 . - 인확을 합니다.
AndroidManifest.xml
나는 종종 문자열을 변경하고 문자열 이름을 변경하는 것을 잊어버린다는 것을 발견합니다.AndroidManifest.xml
. - 을 확인하세요 ㅠㅠ
Android SDK Build-tools
가 설치되어 있습니다.창 -> Android SDK Manager -> 도구 -> Android SDK 빌드 도구 - 업데이트할 때 확인하십시오.
Android SDK Tools
당신은 또한 업데이트합니다.Android SDK Platform-tools
그리고.Android ADK Build-tools
일치하지 않으면 빌드가 자동으로 실패합니다. - 문제를 찾을 수 없으면 /gen/ -> 로컬 기록에서 복원...을 마우스 오른쪽 단추로 클릭합니다. -> R.java -> Restore를 클릭합니다.문제를 해결하지 못하더라도 추가 오류를 제거하여 문제를 쉽게 찾을 수 있습니다.
이 사이트는 다음을 제안합니다.
프로젝트에서 정리를 실행하면 생성된 모든 Java 파일, 즉 R을 재생성해야 합니다.
...그리고...
이클립스의 프로젝트 메뉴 아래에는 자동으로 옵션 빌드가 있습니다.수정할 때마다 R.java 파일을 작성하는 데 도움이 됩니다.더 클린...옵션도 프로젝트 아래에 있습니다.
이 사이트는 다른 솔루션을 제안합니다.
저도 같은 문제가 있었습니다.확인해보니 레이아웃에 있는 XML 리소스의 이름에 올바른 명명 규칙이 없습니다.그것은 대문자가 좀 있었습니다.그래서 모든 글자를 소문자로 만들기 위해 이름을 바꿨고 마법이 작동했습니다.
R. 클래스가 갑자기 사라질 수 있는 한 가지 이유는 XML 파일에 오류가 있을 때입니다.예를 들어 myCoolLayout.xml과 같은 이름에 대문자가 포함된 XML 파일을 추가할 경우 허용되지 않습니다.또는 기존 파일 등을 가리키지 않는 참조가 있는 경우.
Eclipse에서 Project --> clean을 사용하여 프로젝트를 정리합니다.R.java가 자동으로 (재) 생성됩니다.
어떤 이유로든 작동하지 않는 경우: layout.xml 파일에 오류가 포함되어 있지 않은지 확인합니다.Eclipse는 여기서 약간 버그가 있는 것 같습니다. 때때로 XML이나 패키지 탐색기 내의 오류를 표시하지 않습니다.이러한 경우:정리를 사용한 후 "콘솔" 또는 "문제" 보기를 확인합니다.모든 오류가 표시되어야 합니다.그것들을 고치고 다시 청소를 다시 합니다.
참고: 누락된 R 파일로 인해 발생하는 오류를 수정할 필요는 없습니다!XML 파일 및 기타 프로젝트 오류를 수정하고 clean을 사용하면 됩니다!
빠른 수정:
매니페스트의 패키지 이름은 다음과 같아야 합니다./src
더폴, 더/gen
폴더 패키지가 자동으로 복제됩니다.
상세 관찰:
은 이확다름인니합에서 합니다./gen
폴더를 누릅니다.나의 경우에는 그것이 이전의 것과 달랐습니다./src
폴더를 누릅니다.
는 매페스패는키의 였습니다./gen
폴더를 누릅니다.
이름이 포함된 패키지를 추가하려고 했습니다./src
에서 에대폴로 이동/gen
폴더에도 무슨 일이 발생했는지 확인했지만 문제는 해결되지 않았습니다.나는 그 때 패키지 이름과 동일하지 않은 패키지 이름을 제거하기 위해 진행했습니다./src
폴더를 누릅니다.이 에 입니다./src
제거하자마자 폴더가 다시 생성되었습니다.
입니다./src
폴더, 이름을 바꾸라는 메시지가 표시됩니다.package = "oldPackage"
package = "srcFolderPackage"
.
저도 같은 문제가 있었고, 마침내 문제를 발견했습니다. strings.xml을 .<string name="app_name">program-name</string>
새 Android 프로젝트를 만들 때 기본적으로 표시됩니다.원래 프로그램인 헬로워드 프로그램에만 사용되는 줄 알았습니다.
그러나 AndroidManifest.xml은 이 값을 참조하므로 다음과 같습니다.
=> => 컴파일 오류;
=> => R.java는 업데이트되지 않았습니다;
=> ID를 인식할 수 없습니다...
Android는 SDK 빌드 도구 ADT 22에 빌드 메커니즘을 추가했습니다.다음 단계만 수행하면 됩니다.
- Android SDK 도구 업데이트
- Android SDK 플랫폼 도구 업데이트
- Android SDK 빌드 도구 업데이트
- 빌드 도구의 경로를 경로 변수에 추가합니다.(경로는 ----YOR DIRECTORY-PATH\android-sdk\build-tools까지)
이렇게 하면 문제가 해결됩니다.
R.java가 생성되지 않으면 "blabla.out.xml"이라는 이름의 레이아웃 파일을 삭제하는 것이 해결책 중 하나입니다.
이 파일을 삭제한 후 프로젝트 -> 정리 메뉴에서 프로젝트를 정리해 보십시오.
Glaux의 답변의 일반화로서, 만약 당신이 오류가 있다면.res
디렉터리를 선택하면 R.java가 생성되지 않을 수 있습니다. 정리하고 다시 작성해도 마찬가지입니다.이러한 오류를 먼저 해결합니다.
예를 들어, "myimage-2.jpg"와 같은 이미지 파일을 추가하면 파일 이름이 영숫자 값으로 제한되기 때문에 시스템은 이를 오류로 간주합니다.파일을 추가한 후 'res' 디렉토리에서 새로 고침을 수행하고 콘솔 창에서 파일 이름 경고가 있는지 출력을 확인합니다.
만약 당신의 OS가 Ubuntu라면, 저는 몇 가지 제안을 할 수 있습니다.
ia32-lib 설치 또는 업그레이드:
sudo apt-get upgrade ia32-libs
apt 폴더에 대한 올바른 사용 권한이 있는지 확인합니다.
cd ANDROID/adt-bundle-linux-x86_64-20130522/sdk/build-tools/android-4.2.2 chmod 777 aapt
이클립스 시작:
sudo eclipse
프로젝트 실행 -> 이클립스에서 치료
XML 파일에 100% 오류가 있지만 XML 검증에서는 오류가 표시되지 않습니다.이것이 XML 파일을 먼저 확인해야 하는 이유입니다!
이클립스의 문제 탭을 보면 항상 유용합니다.저의 경우, "Android cannable to resolve target 'Android-8'" 오류 메시지가 표시되어 R.java가 생성되지 않았습니다.그래서 가져온 대상을 default.properties 파일에서 사용하던 대상으로 수정한 다음 Projects->Clean and voila!를 통해 치료를 수행했습니다.R.java가 자동으로 생성됩니다!도움이 되길 바랍니다!
프로젝트를 청소하고, 이클립스를 닫고, 다시 열고, 내 프로젝트를 시작하는 것이 마침내 내 R.java를 다시 나타나게 했습니다.도움이 되길 바랍니다.
가져오지 않는지 확인합니다.
안드로이드의R;
R.java는 오류가 있는 경우 생성되지 않습니다.res
폴더를 누릅니다.예를 들어, 그리기 가능한 하위 폴더에는 이름이 같은 두 개의 파일이 있습니다. 하나는 icon.png이고 다른 하나는 icon.html입니다.
Eclipse 콘솔 로그 창에서 "리소스 항목 아이콘이 이미 정의되었습니다."라는 일부 오류를 볼 수 있습니다.에는 icon.html을 할 수 .gen
폴더를 누릅니다.R.java가 생성되었다는 것을 알게 될 것입니다.
제가 알아낸 바에 따르면 대문자가 있는 파일은res
폴더가 이 오류를 만듭니다.이것은 제가 추가하고 잊어버린 PNG 파일과 함께 저에게 일어난 일입니다.
많은 게시물들과 유튜브 영상들을 읽어본 후에, 나는 우리 각자가 가지고 있는 것을 발견했습니다.R.java
여러 가지 이유로 누락되었습니다.
Eclipse에서 이 문제를 해결한 방법은 다음과 같습니다.
- .java에서 R
gen
수동으로 폴더를 지정하고 저장합니다. - 그런 다음 Project(프로젝트)로 이동하고 "Clean(청소)"을 클릭합니다.
다음 메시지가 표시되고 파일이 자동으로 다시 작성됩니다.
R.java가 수동으로 수정되었습니다!생성된 버전으로 되돌리는 중!
저는 v7 appcompat을 두 번 연결했습니다.어쨌든 이클립스에서 패키지 탐색기 또는 탐색기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 속성, Android로 이동한 다음 라이브러리 섹션에서 중복 항목의 선택을 취소합니다.빌드 --> 이후 청소가 필요할 수 있습니다.
이에 대한 최종 답변은 분명히 없습니다. 하지만 여기에는 아직 보이지 않는 또 다른 답변이 있습니다.
나는 가지고 있었습니다R.java
후 팀화시(도) 후트에충즉해파돌일결프젝로며사라지동기,▁res즉▁in▁disappear)이 있습니다.thingy.xml.mine
,thingy.xml.r35
등). 된 충돌 다시해생삭충제돌/된결성결해▁regen/삭R
.
저는 이런 문제가 있었습니다.실수로 이것을 삭제했습니다.
xmlns:tools="http://schemas.android.com/tools"
프로젝트 전체에 빌드 오류를 발생시키기 시작한 것은 XML 파일뿐만 아니라 Java 파일에서도 마찬가지입니다.제가 삭제한 것을 다시 입력하자마자 다시 작동했습니다 :)
좋습니다. 이 문제에는 많은 원인이 있을 수 있습니다.64비트 Linux 시스템에서 ADT를 처음으로 설정하는 경우 R이 자동으로 생성되지 않는 문제가 발생할 수 있습니다.콘솔 탭을 확인하면 다음과 유사한 오류가 표시될 수 있습니다.
'No such file or directory' while attempting to get adb version from '/home/patrick/code/android-sdks/platform-tools/adb'
그런 경우 다음과 같은 방법을 사용하여 ia32-libs를 설치해야 합니다.
sudo apt-get install ia32-libs
자세한 내용은 여기를 참조하십시오.Android adb를 찾을 수 없음
저는 이 문제를 몇 번 접했습니다.예를 들어, 응용 프로그램에 패키지 이름 example.test가 있는 경우와 같이 응용 프로그램 이름을 통해 패키지 R을 가져오지 않은 경우 example.test를 가져와야 한다는 것을 알게 되었습니다.리소스에 액세스하려면 R.
이 리소스를 가져오지 않은 경우 반환되는 리소스는 기본 리소스이며 내 리소스는 포함되지 않습니다.
따라서 기본 리소스 목록만 가져오는 경우 application_package_name을(를) 가져오는지 확인하십시오.안드로이드가 아닌 R.r.
나의 문제는appcompat
내 프로젝트와 같은 디렉터리에 있지 않았습니다.
저는 앤트와 앱을 컴파일할 때 이것을 알게 되었습니다.
또한 ADT 플러그인의 최신 버전이 있는지 확인하고 Android SDK 관리자를 열어 모든 SDK 도구를 최신 버전으로 업데이트합니다.Eclipse 자체의 업데이트도 확인합니다.버전이 맞지 않아 문제가 발생했습니다.
제 문제는 메뉴 파일 안에 있었습니다.는 컴일가내존부재않지는문있에 없는 이 있으면 경고하지 것 .strings.xml
는 메뉴 파일에서 참조됩니다.다음 항목을 확인합니다.item
파일에서 "" XML " " ""에 합니다.strings.xml
은 은보통으로.android:title
.
이 오류는 기존의 오류를 복제하려고 할 때 발생했습니다.res/menu
그것으로 하나를 만드는 대신.wizard
.
메이븐을 사용하면 이 모든 대답이 작동하지 않습니다.저를 위한 해결책은 다음과 같습니다.
<genDirectory>${project.basedir}/gen</genDirectory>
Android-maven-message의 구성 섹션으로 이동합니다.
2 clean, build 등 R.class를 다시 만들고 Eclipse에서 만들지 않는 이유에 대한 해결책을 찾았습니다.
이 문제는 strings.xml에 있습니다.
<string name="hello">Hello World, HelloAutoComplete!</string>
<string name="app_name">HelloAutoComplete</string>
이들은 프로젝트를 만들 때 기본적으로 Eclipse에 의해 생성됩니다.
확실히 당신은 당신 자신의 요구사항을 위해 string.xml을 변경하고 있습니다.때때로 코드에서 string.xmls 다음 두 줄을 지웁니다.
AndroidManifest.xml 파일에 문제가 있습니다.
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAutoComplete" android:label="@string/app_name">
따라서 strings.xml과 통신할 수 없습니다.
레이아웃 XML 파일 이름을 변경하여 나중에 XML 파일(이 경우 위젯 공급자)이 존재하지 않는 이전 레이아웃 XML을 참조하고 있으며 이로 인해 R 클래스의 자동 생성/수정이 불가능하다는 것을 알게 되었습니다.
언급URL : https://stackoverflow.com/questions/2757107/developing-for-android-in-eclipse-r-java-not-regenerating
'programing' 카테고리의 다른 글
직렬화 가능 상속 (0) | 2023.05.11 |
---|---|
LINQ: 없음 대 모두 없음 (0) | 2023.05.11 |
Git push를 사용하여 프로젝트 배포 (0) | 2023.05.11 |
WPF에서 내포된 요소 스타일 지정 (0) | 2023.05.11 |
WPF C# 버튼 스타일 (0) | 2023.05.11 |