source

이클립스에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조할 수 없습니다.

manycodes 2023. 5. 6. 15:15
반응형

이클립스에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조할 수 없습니다.

제가 이 문제를 작성하는 동안 저는 그것을 풀 수 있었으므로 다른 사람들의 이익을 위해 여기서 반복합니다.초기 문제는 다음과 같습니다.

저는 다른 프로젝트에서 참고하고 싶은 아주 간단한 도서관 프로젝트를 만들었습니다.저는 이전에 문제없이 진행한 적이 있는데, 왜 이번에는 작동하지 않는지 잘 모르겠습니다.소유자:

  1. 프로젝트 속성을 통해 라이브러리 프로젝트에 플래그를 지정했습니다.default.properties파일에 다음 집합이 있습니다.android.library=true

  2. 다른 프로젝트에서는 프로젝트 속성을 통해 라이브러리 프로젝트에 대한 참조를 추가했습니다.default.properties되었습니다.android.library.reference.1=K:/android_test_ws/applicationRegistrar

  3. 참조된 라이브러리 프로젝트에 대한 녹색 체크 표시는 녹색으로 시작한 다음 빨간색 크로스로 변경됩니다.

이것은 도서관 프로젝트에서 뭔가 잘못되었거나 누락된 것이 분명하다는 것을 의미하지만, 저는 무엇인지 모르겠습니다.이번에 제가 만든 도서관 프로젝트는 이전에 만든 것보다 훨씬 간단합니다.

좋아요. 여기 제 파일 시스템에서 참조 프로젝트(라이브러리가 아님)의 default.properties 파일을 찾을 때 찾은 해결책이 있습니다.참조 프로젝트가 라이브러리 프로젝트와 동일한 이클립스 작업 공간에 있었지만 실제 파일은 파일 시스템의 다른 위치에 있었습니다. 즉, 라이브러리 프로젝트의 동일한 상위 폴더에 있지 않았습니다.참조 프로젝트를 라이브러리 프로젝트와 동일한 물리적 폴더에 넣자마자 모든 것이 정상적으로 진행되었습니다.

이것은 커버 아래에 개미를 사용하는 안드로이드와 관련이 있을 것이라고 생각합니다.

편집: 프로젝트 이름이 파일 시스템의 폴더 이름과 일치해야 합니다.Project Properties->Android->Library Reference에서 볼 수 있는 것은 상대 파일 시스템 경로입니다.

두 프로젝트가 모두 동일한 작업 공간에 있는지 확인합니다.프로젝트를 가져오는 동안 "작업 공간에 프로젝트 복사" 확인란이 선택되어 있는지 확인합니다.

라이브러리 프로젝트가 현재 작업 영역과 다른 파티션에 있는 경우에도 동일한 문제가 발생합니다.저도 지금 같은 문제를 겪고 있습니다.제 Git 소스는 C:에 있습니다. 그리고 저는 제 작업 공간을 D:로 옮깁니다. 그리고 모든 것이 무너지기 시작합니다.

라이브러리 경로를 올바르게 설정하는 가장 간단한 방법은 Eclipse의 GUI를 사용하여 다음 스크린샷과 같이 라이브러리를 추가하고 Eclipse가 project.properties에 올바른 상대 경로를 배치하도록 하는 것입니다.라이브러리 프로젝트를 디렉토리에서 호스팅하는 것은 라이브러리를 사용하는 기본 프로젝트와 매우 다른 일반적인 설정입니다. project"와eclipse "같은 합니다. 여기에 이미지 설명 입력

라이브러리 프로젝트가 "라이브러리"로 표시되어 있는지 확인하십시오. - 라이브러리 프로젝트 - 속성 - Android - "라이브러리 있음" 확인란 표시 - 라이브러리 프로젝트의 프로젝트.properties에서 새 항목 "라이브러리임"이 있어야 합니다.: "라이브러리임" = true.이제 아래 게시물에 설명된 대로 원하는 프로젝트에 추가합니다.(이미지가 통합된 게시물 - Nilesh Pawar에서).

이 버그는 여기서 27199, 35786, 3646038052를 여러 번 참조합니다.

아마도 그들에게 투표함으로써 언젠가는 고쳐질 것입니다.

그러나 같은 문제에 대한 또 다른 관찰.

두 프로젝트는 동일한 상위 폴더에 있으며 둘 다 작업 공간 내부의 로컬에 있었습니다.심지어 그때도 그 문제는 여전히 발생하고 있었습니다.

I는 "project.properties" 파일을 편집하고 라이브러리 프로젝트의 절대 경로( 구분자에 '/' 순방향 슬래시 포함)를 배치했습니다.저장하고 닫았습니다.그런 다음 프로젝트 속성 대화 상자로 이동하여 라이브러리(아직 십자 아이콘을 표시하고 있지만 복근 경로가 있음)를 제거하고 평소와 같이 다시 추가했습니다.놀랍게도 문제가 해결되고 프로젝트가 컴파일되어 실행됩니다.

이것은 정말 이상하고 ADT의 버그임에 틀림없습니다.ADT 버전 20.0.2를 사용하고 있습니다.

개발자가 페이스북이나 다른 도서관 프로젝트를 참조할 때, 우선 이클립스->프로젝트->클린 프로젝트에서 프로젝트를 청소합니다.참조 화면에서 적십자의 오류를 허용하기를 원합니다.

저는 일식을 다시 시작하면 추가된 라이브러리가 정상적으로 작동합니다.

제 말은 도서관 프로젝트를 추가한 후 처음으로 빨간 표시가 나타났다는 것입니다.Eclipse 기본 프로젝트와 라이브러리 프로젝트가 동일한 작업 공간 폴더에 있고 프로젝트 폴더 외부에 리소스 파일이 없습니다.

따라서 일식을 다시 시작해 볼 수 있습니다.해피 코딩...

제가 해결할 수 있는 방법은

  1. 새 작업 공간 만들기
  2. 해당 작업 공간에서 라이브러리 프로젝트 가져오기
  3. 가져오기 해당 작업 공간에서 원하는 프로젝트
  4. 프로젝트와 라이브러리가 모두 동일한 대상 Android OS 버전을 프로젝트하도록 합니다.
  5. 내 프로젝트의 참조 라이브러리 프로젝트

나의 문제를 해결했습니다.

작업 공간을 변경하려고 할 때도 동일한 문제가 발생했기 때문에 이것이 해결책입니다.

  1. 라이브러리 프로젝트를 포함한 모든 프로젝트 데이터를 작업 영역으로 가져오고 복사
  2. 프로젝트를 마우스 오른쪽 단추로 클릭하여 이전 프로젝트 참조를 삭제합니다.-->속성-->Android-->라이브러리를 마우스 오른쪽 단추로 클릭한 후 손상된 라이브러리를 선택하고 제거를 선택합니다.
  3. 먼저 프로젝트 정리(프로젝트 속성 새로 고침)
  4. 라이브러리 프로젝트 속성-->Apply(적용)를 클릭하지 않으면 Android(안드로이드)-->Library(라이브러리)로 이동하고 is 라이브러리를 확인한 다음 OK(확인)를 클릭합니다.
  5. 라이브러리 프로젝트가 이미 선택되어 있는 경우 먼저 선택 취소한 다음 라이브러리 프로젝트를 정리합니다. 그 후 4단계를 다시 수행합니다.
  6. 라이브러리를 원하는 프로젝트로 이동한 다음 프로젝트를 마우스 오른쪽 단추로 클릭합니다.-->속성-->안드로이드-->라이브러리, 추가, 라이브러리 프로젝트(존재해야 함)를 선택하고 적용을 클릭한 다음 확인을 클릭합니다.
  7. 그래도 여전히 나타나지 않으면 프로젝트를 한 번 더 청소하면 됩니다.

일식을 다시 시작하세요.그것이 내 문제를 해결합니다.

전후에 참조 경로를 보면 "C:/workspace/mylib"에서 시작하여 올바른 위치로 복사할 때 "..../..../mylib"로 이동합니다. 매우 흥미롭습니다.

참고로,

제 작업 공간에서 '라이브러리' 프로젝트(실제 프로젝트)를 삭제한 다음(파일을 삭제하지 않고) 마법사를 사용하여 다시 가져옵니다(소스 코드에서 기존 안드로이드 프로젝트 가져오기).

질문을 올려주셔서 감사합니다.페이스북을 안드로이드 앱과 통합할 때도 똑같은 문제가 있었습니다.라이브러리 프로젝트가 있는 동일한 Windows 드라이브로 개발 프로젝트를 이동하여 문제를 해결했습니다.Eclipse는 라이브러리 프로젝트가 다른 드라이브에 있는 경우 default.properties 파일에서 라이브러리 프로젝트의 위치를 제대로 읽을 수 없습니다.

Sufi Khan의 게시물과 마찬가지로 재부팅을 통해 이 문제를 해결했습니다.제 경우는 제가 처음 Properties->Android에 액세스하고 라이브러리를 추가했을 때 사랑스러운 녹색 체크 표시가 나왔다는 점에서 차이가 있었습니다.대화 상자를 닫았을 때 Eclipse는 여전히 클래스를 찾을 수 없는 유형 오류를 표시하고 있었습니다.제가 다시 속성을 확인했을 때 저는 빨간색 X를 보았습니다.하지만 칸 씨의 솔루션(나쁜 lib 삭제, 이클립스 재시작, lib 다시 추가)은 잘 작동했습니다.

저는 ADT 번들의 0702 버전을 사용하고 있습니다("클러스터"로 시작하고 "덕"으로 운을 맞춥니다).

저는 수락된 답변을 따르지만 "project.properties" 파일이 읽을 수 있는지 확인해야 했습니다.

파일이 읽기 전용인 경우(소스 제어로 체크인된 경우) 이클립스는 파일을 편집하지 않습니다.라이브러리 참조를 추가하면 성공하지만 확인을 누른 후에도 변경 내용이 유지되지 않습니다.

환경설정 창을 닫고 에서 다시 열면 방금 추가한 라이브러리가 제거될 수 있습니다.

라이브러리 프로젝트가 여전히 나타나지 않는 경우 라이브러리 프로젝트 속성에 라이브러리 플래그를 추가해 보십시오.

Android.dll=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

언급URL : https://stackoverflow.com/questions/5167273/in-eclipse-unable-to-reference-an-android-library-project-in-another-android-pr

반응형