Eclipse에서 다른 Android 프로젝트의 Android 라이브러리 프로젝트를 참조 할 수 없습니다.
이 질문을 작성하면서 나는 그것을 해결할 수 있었으므로 다른 사람들의 이익을 위해 여기에서 반복하십시오. 다음은 초기 문제입니다.
다른 프로젝트에서 참조하고 싶은 매우 간단한 라이브러리 프로젝트를 만들었습니다. 나는 이전에 아무런 문제없이 이것을 해왔 기 때문에 이번에는 왜 작동하지 않는지 잘 모르겠습니다. 나는 가지고있다:
프로젝트 속성을 통해 라이브러리 프로젝트에 플래그를 지정했습니다.
default.properties
파일이 집합이 있습니다 :android.library=true
내 다른 프로젝트에서 프로젝트 속성을 통해 내 라이브러리 프로젝트에 대한 참조를 추가했습니다.
default.properties
파일은 참조가 예상되는 예로 추가했습니다android.library.reference.1=K:/android_test_ws/applicationRegistrar
참조 된 라이브러리 프로젝트에 대한 녹색 체크 표시가 녹색에서 시작하여 빨간색 십자가로 변경됩니다.
이것은 도서관 프로젝트에서 뭔가 잘못되었거나 빠진 것이 있음을 의미하지만 무엇인지 모르겠습니다. 이 경우 내 도서관 프로젝트는 이전에 만든 것보다 훨씬 간단합니다.
확인 내 파일 시스템에서 참조하는 프로젝트 (라이브러리가 아님)의 default.properies 파일을 찾을 때 찾은 솔루션입니다. 참조하는 프로젝트가 라이브러리 프로젝트와 동일한 Eclipse 작업 공간에 있었지만 실제 파일은 파일 시스템의 다른 곳에있었습니다. 즉, 라이브러리 프로젝트의 동일한 상위 폴더에 있지 않았습니다. 참조 프로젝트를 라이브러리 프로젝트와 동일한 물리적 폴더에 배치하자마자 모든 것이 잘되었습니다.
나는 이것이 덮개 아래에 개미를 사용하는 안드로이드와 관련이 있다고 생각합니다.
편집 : 프로젝트 이름은 파일 시스템의 폴더 이름과 일치해야합니다. Project Properties-> Android-> Library Reference에 표시되는 것은 상대 파일 시스템 경로입니다.
두 프로젝트가 동일한 작업 공간에 있는지 확인하십시오. 이를 위해 프로젝트를 가져 오는 동안 "프로젝트를 작업 공간으로 복사"확인란이 선택되어 있는지 확인하십시오.
라이브러리 프로젝트가 현재 작업 공간과 다른 파티션에있는 경우에도 동일한 문제가 발생합니다. 나는 지금 같은 문제가 있습니다. 내 자식 소스는 C :에 있고 작업 공간을 D :로 옮기면 모든 것이 붕괴되기 시작합니다.
올바른 라이브러리 경로 경로를 가져 오는 가장 간단한 방법은 Eclipse의 GUI를 사용하여 다음 스크린 샷에 표시된대로 라이브러리를 추가하고 Eclipse가 project.properties에 올바른 상대 경로를 배치하도록하는 것입니다. 라이브러리를 사용하는 주요 프로젝트와는 매우 다른 디렉토리에서 라이브러리 프로젝트를 호스팅하는 일반적인 설정입니다. 이 방법은 "libary 프로젝트"와이를 사용하는 프로젝트가 동일한 Eclipse "workspace"에있는 경우 작동합니다 (동일한 상위 폴더에 "필요하지 않음").
라이브러리 프로젝트가 "Is Library"로 표시되어 있는지 확인하십시오.-라이브러리 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.-속성-Android- "Is Library"확인란을 선택하십시오.-라이브러리 프로젝트의 project.properties에 새 항목이 있어야합니다. "android .library = true. 이제 아래 게시물에 설명 된대로 원하는 프로젝트에 추가합니다 (이미지가 통합 된 게시물-Nilesh Pawar에서 제공).
이 버그는 여기에서 여러 번 참조됩니다. 27199 , 35786 , 36460 & 38052
투표하면 언젠가는 고쳐질지도 몰라 ...
같은 문제에 대한 또 다른 관찰.
나에게는 동일한 상위 폴더에 있고 둘 다 작업 공간 내부에 로컬 인 두 프로젝트가 있습니다. 그때도 문제는 여전히 발생하고있었습니다.
"project.properties"파일을 편집하고 라이브러리 프로젝트의 절대 경로 (구분자는 슬래시 '/'포함)를 입력했습니다. 저장하고 닫았습니다. 그런 다음 프로젝트 속성 대화 상자로 이동하여 라이브러리를 제거하고 (여전히 십자가 아이콘이 표시되지만 abs 경로가 있음) 평소와 같이 다시 추가했습니다. 놀랍게도 문제가 해결되고 프로젝트가 컴파일되고 실행됩니다.
이것은 정말 이상하고 ADT의 버그 일 것입니다. ADT 버전 20.0.2를 사용하고 있습니다.
개발자가 facebook 또는 다른 라이브러리 프로젝트를 참조 할 때 먼저 eclipse-> project-> clean 프로젝트에서 프로젝트를 정리하십시오. 참조 화면에서 적십자 오류를 허용하려는 경우.
나를 위해 일식을 다시 시작하면 추가 된 라이브러리가 제대로 작동합니다.
도서관 프로젝트를 추가 한 후 처음으로 빨간색 표시가 나타납니다. Eclipse 메인 프로젝트와 라이브러리 프로젝트는 동일한 작업 공간 폴더에 있고 프로젝트 폴더 외부에는 리소스 파일이 없습니다.
따라서 일식을 다시 시작할 수 있습니다. 행복한 코딩 ....
나를위한 해결 방법은
- 새 작업 공간 만들기
- 해당 작업 공간에서 라이브러리 프로젝트 가져 오기
- 가져 오기 해당 작업 공간에서 원하는 프로젝트
- 프로젝트와 라이브러리 프로젝트가 모두 동일한 대상 Android OS 버전을 갖는 경우
- 내 프로젝트의 참조 라이브러리 프로젝트
내 문제를 해결했다
내 작업 공간을 변경하려고 할 때 동일한 문제가 있었으므로 내 솔루션이 다음과 같습니다.
- 라이브러리 프로젝트를 포함한 모든 프로젝트 데이터를 작업 공간으로 가져 오기 및 복사
- 프로젝트-> 속성-> 안드로이드-> 라이브러리를 마우스 오른쪽 버튼으로 클릭하여 이전 프로젝트 참조를 삭제하고 손상된 라이브러리를 선택하고 제거를 선택합니다.
- 먼저 프로젝트 정리 (프로젝트 속성 새로 고침)
- 라이브러리 프로젝트 속성-> Android-> 라이브러리로 이동하여 적용을 클릭하지 않은 경우 라이브러리를 확인한 다음 확인을 클릭합니다.
- 라이브러리 프로젝트가 이미 라이브러리 인 경우 체크 해제 한 다음 라이브러리 프로젝트를 정리 한 다음 4 단계를 다시 수행하십시오.
- 라이브러리가있는 프로젝트로 이동 한 다음 프로젝트-> 속성-> Android-> 라이브러리를 마우스 오른쪽 버튼으로 클릭하고 추가 한 다음 라이브러리 프로젝트 (있을 것임)를 선택하고 적용을 클릭 한 다음 확인을 클릭합니다.
- 여전히 나타나지 않으면 프로젝트를 한 번 더 정리하면됩니다.
일식을 다시 시작하십시오. 내 문제를 해결해
When you have a look at the reference-path before and after, it comes from i.e. "C:/workspace/mylib" and goes to "../../mylib" when copied to the correct location, quite interesting.
FYI,
What worked for me was to delete the 'library' projects (the actual projects) from my workspace (without deleting the files), and then re-importing them using the wizard (import existing android project from source code).
Thanks for posting the question. I had exactly the same problem while integrating Facebook with my Android application. I fixed the issue by moving my development project to the same Windows drive in which library project was located. Somehow Eclipse is unable to read the library project's location properly from default.properties file if it is in a different drive.
Similar to Sufi Khan's post I also solved this issue with a reboot. My case differed in that when I first accessed Properties->Android and added the library I got a lovely green checkmark. When I closed the dialog Eclipse was still showing class-not-found type errors. When I checked the properties again I saw the red X. But Mr. Kahn's solution (delete the bad lib, restart Eclipse, add the lib again) worked fine.
I'm using the 0702 version of the ADT bundle (starts with "cluster", rhymes with "duck").
I followed the accepted answer but also had to make sure my "project.properties" file was readable.
If the file is readonly (checked into source control) eclipse will not edit it. Adding the library reference will succeed, but the change won't be persisted after hitting OK.
환경 설정 창을 닫고 다시 열면 방금 추가 한 라이브러리가 제거되는 경우 이것이 해결책 일 수 있습니다.
라이브러리 프로젝트가 여전히 표시되지 않는 경우 라이브러리 프로젝트 속성에 라이브러리 플래그를 추가해보십시오.
android.library = true 추가
project.properties
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-17
android.library=true
'Programming' 카테고리의 다른 글
잘못된 URI : URI 형식을 확인할 수 없습니다. (0) | 2020.08.14 |
---|---|
SQL 문에서 항상 매개 변수를 사용하는 것을 선호하는 이유는 무엇입니까? (0) | 2020.08.14 |
프로그래밍 방식으로 활동 테마 변경 (0) | 2020.08.14 |
람다 식에 사용되는 변수는 최종적이거나 사실상 최종적이어야합니다. (0) | 2020.08.14 |
구조체 이니셜 라이저에서 점 (.)은 무엇을 의미합니까? (0) | 2020.08.13 |