이제 Eclipse 프로젝트를 Android Studio로 어떻게 가져 오나요?
프로젝트 구조를 변경하고 Gradle 파일을 생성하는 데 사용되는 Eclipse 프로젝트에 Android Studio에서 "Import Project"를 사용했지만 지금은 (AS 0.5.3을 사용하고 있습니다) IDEA 파일 (.iml, .idea) 만 생성하지만 그렇지 않습니다. Gradle과 파일 구조도 건드리지 않습니다.
이제 Eclipse 프로젝트를 Android Studio로 어떻게 가져 오나요?
업데이트 : Eclipse에서 gradle 파일을 내보내려고하면 앱용으로 내 보내지 않으며 Android Studio에서도 모듈로 표시되지 않습니다.
최신 버전의 Android Studio에서 Eclipse / ADT 프로젝트를 가져 오는 가장 좋은 방법은 Android Studio로 직접 가져 오는 것입니다. 먼저 Eclipse에서 Gradle로 내보내는 것이 좋지만 Android Studio와 보조를 맞추기 위해 ADT를 자주 업데이트하지 않았습니다.
어쨌든 파일 메뉴 또는 Android Studio를 시작할 때 시작 화면에서 "프로젝트 가져 오기"를 선택하면 파일을 새 디렉토리 구조로 복사 할 것인지 묻는 전문 마법사가 표시됩니다. 제자리에서 가져 오는 대신 종속성을 Maven 스타일 포함으로 변환하는 것과 같은 몇 가지 일반적인 사항을 수정하도록 제공합니다.
이 특별한 흐름을 얻는 것 같지 않습니다. 가져온 프로젝트를 ADT 프로젝트로 인식하지 못할 수 있으며 Gradle에 대해 알지 못하는 이전 내장 IntelliJ 동작으로 기본 설정되어 있습니다. 특수한 가져 오기가 작동하려면 다음 사항이 참이어야합니다.
- 가져 오는 프로젝트의 루트 디렉토리에는 AndroidManifest.xml 파일 이 있어야 합니다.
- 어느 한 쪽:
- 루트 디렉토리에는 Eclipse 의 .project 및 .classpath 파일이 있어야합니다.
- 또는
- 루트 디렉토리는 res 및 src 디렉토리를 포함해야합니다 .
프로젝트가 복잡한 경우 가져 오기가 성공하기 위해보고자하는 루트 디렉터리로 지정하지 않을 수 있습니다.
Eclipse에서 내보내기
Eclipse ADT 플러그인을 22.0 이상으로 업데이트 한 다음 파일 | 수출
이제 Android로 이동 한 다음을 클릭
Generate Gradle build files하면 gradle 파일이 생성됩니다.
내보낼 프로젝트를 선택하십시오

지금 마침을 클릭하십시오

Android Studio로 가져 오기
Android Studio에서 현재 열려있는 모든 프로젝트를 닫습니다. Welcome to Android Studio 창이 표시되어야합니다 .
프로젝트 가져 오기를 클릭합니다.
Eclipse에서 내 보낸 프로젝트를 찾아 확장하고 선택하고 확인을 클릭합니다.
다음 단계를 시도하십시오. 1- 프로젝트 가져 오기를 클릭합니다 (Eclipse, ADT, ...).
2- Eclipse 프로젝트의 기본 디렉토리 선택
3- 기본값을 유지하십시오. 처음 두 가지 옵션은 jar 파일을 원격 라이브러리 (종속성)로 변경하는 것입니다. Android 스튜디오를 빌드하는 동안 로컬 시스템 또는 원격 저장소에서 라이브러리를 찾으려고합니다. 마지막 옵션은 가져온 후 하나의 폴더 만 앱으로 표시하는 것입니다.
4- 그런 다음 변경 사항 요약이 표시됩니다.
5- 그런 다음 Gradle 프로젝트 동기화 실패가 표시되면 프로젝트보기 (왼쪽 상단 모서리)로 이동해야합니다. 그런 다음 프로젝트-> 앱으로 이동하여 build.gradle을 엽니 다.
6- 그런 다음 compilesdkVersion 및 targetsdkVersion을 buildToolsVersion에서 볼 수있는 현재 버전으로 변경해야합니다 (내는 23 임). 예를 들어, 내 프로젝트에서 두 곳에서 17을 23으로 변경해야합니다.
7- 종속성에 오류가 표시되면 해당 버전을 변경해야합니다. 예를 들어, 내 프로젝트에서 사용중인 Android 지원 라이브러리의 버전을 확인해야합니다. 그래서 SDK 관리자를 열고 하단으로 이동하여 버전을 확인합니다. 그런 다음 Android 스튜디오 버전을 현재 버전으로 교체하고 오른쪽 상단에서 다시 시도를 클릭해야합니다.
도움이되기를 바랍니다.
Android Studio로 더 간단 해졌습니다. 필요한 것은 먼저 선택하는 것입니다.
3. (ActionBarSherlock)과 같이 사용한 프로젝트 및 라이브러리 유형에 따라 특수 가져 오기 마법사가 표시 될 수 있으므로 계속해서 다음을 클릭 한 다음 완료합니다. 이 경우에는 간단했습니다
그러나 때로는 디버그 또는 실행 옵션이 작동하지 않고 오류 메시지가 다음과 같이 표시됩니다.
"이 프로젝트 구조는 gradle 기반이 아니거나 gradle로 마이그레이션합니다."
이 문제를 해결하기 위해 열린 이클립스 프로젝트를 닫고 이전에 가져 오기 프로젝트 (eclipse adt, gradle 등)에서했던 것과 동일한 프로세스를 통해 동일한 프로젝트를 다시 엽니 다) 이번에는 android studio에서 필요한 모든 gradle 파일을 추가하고 녹색 디버그 옵션도 작동합니다. . 나는 어떻게 든 우연히 이것을했지만 효과가 있었지만 당신에게도 효과가 있기를 바랍니다.
이 질문이 게시 된 이후로 Android Studio가 개선되었으며 최신 버전의 Android Studio (이 글을 쓰는 현재 2.1.1)에는 상당히 우수한 Eclipse 가져 오기 기능이 있으므로 이제 Eclipse 프로젝트를 Android Studio로 직접 가져 오는 것이 가장 좋습니다. Eclipse에서 Android Studio로 프로젝트를 마이그레이션하는 방법.
발생할 수있는 몇 가지 함정을 포함하여이 작업을 수행하는 방법을 아래에서 설명하겠습니다. 특히 하나 이상의 프로젝트 라이브러리를 공유하는 여러 앱이 포함 된 Eclipse 작업 영역을 가져 오는 작업을 다룰 것입니다 (지금까지 게시 된 접근 방식은 하나의 Eclipse 앱 프로젝트와 해당 프로젝트 라이브러리 만 가져 오는 것으로 제한되어 있음). 가능한 모든 문제를 다루지는 않지만 그중 일부에 대해 자세히 설명하고 있는데,이 과정을 처음으로 겪는 사람들에게 도움이되기를 바랍니다.
최근에 Eclipse 작업 공간에서 프로젝트를 가져 왔습니다. 이 작업 공간에는 각각 최대 9 개의 프로젝트간에 공유되는 4 개의 라이브러리 프로젝트가 포함되었습니다.
배경 :
Eclipse 작업 공간에는 라이브러리 프로젝트 또는 앱이 될 수있는 여러 프로젝트가 포함됩니다.
Android Studio 프로젝트 는 라이브러리 프로젝트와 앱을 모두 포함 할 수 있다는 점에서 Eclipse 작업 공간 과 유사 합니다. 그러나 라이브러리 프로젝트 또는 앱은 Android Studio에서 "모듈"로 표시되는 반면 Eclipse에서는 "프로젝트"로 표시됩니다.
요약하자면 Eclipse 작업 공간은 Android Studio 프로젝트로 끝나고 작업 공간 내의 Eclipse 프로젝트는 프로젝트 내부의 Android Studio 모듈로 끝납니다.
Android Studio 프로젝트 (File / New / New Project)를 생성하여 가져 오기 프로세스를 시작해야합니다. 이 프로젝트에 Eclipse 작업 공간을 부여한 것과 동일하거나 유사한 이름을 지정할 수 있습니다. 이 프로젝트는 결국 가져올 각 Eclipse 프로젝트 (프로젝트 라이브러리 포함)마다 하나씩 모든 모듈을 보유하게됩니다.
가져 오기 프로세스는 가져온 파일을 다른 폴더 계층에 배치하는 한 원래 Eclipse 파일을 변경하지 않으므로 원래 Eclipse 계층에없는이 프로젝트의 폴더를 선택해야합니다. 예를 들어 Eclipse 프로젝트가 모두 Android라는 폴더에있는 경우 AStudio라는 형제 폴더를 만들 수 있습니다.
그런 다음 Android Studio 프로젝트를이 새 폴더의 하위 폴더로 만들 수 있습니다. 새 프로젝트 마법사는 프로젝트를 생성 할이 최상위 프로젝트 폴더를 입력하라는 메시지를 표시합니다.
Android Studio의 새 프로젝트 마법사는 프로젝트를 만들 때 단일 모듈을 구성하도록 요청합니다. 처음에는 약간 혼란 스러울 수 있습니다. 왜냐하면 그들은 실제로 당신이 모듈을 만들고 있다는 것을 결코 말하지 않기 때문입니다. 하나의 모듈이있는 프로젝트를 만들고 있습니다. 분명히 모든 프로젝트에는 최소한 하나의 모듈이 있어야하므로 모듈을 제공하기 위해 Eclipse에 의존하고 있으므로 초기 모듈은 해당 공식 요구 사항을 막연하게 충족시키는 자리 표시자가 될 것입니다.
따라서 가능한 한 적은 작업을 수행하는 프로젝트의 초기 모듈을 만들고 싶을 것입니다. 따라서 모듈 유형으로 휴대폰 및 태블릿을 선택하고 기본 최소 SDK (API 레벨 8)를 수락하고 모듈에 대해 활동 없음 추가를 선택합니다.
다음으로, 가져올 첫 번째 프로젝트로 가장 많은 라이브러리가 필요한 작업 공간에서 Eclipse 앱 프로젝트 중 하나를 선택하십시오. 이렇게하면 해당 프로젝트를 가져올 때 사용하는 모든 라이브러리 프로젝트 (일부 라이브러리 프로젝트 자체에 다른 라이브러리 프로젝트가 필요한 경우 직접 또는 간접적으로)가 가져 오기 프로세스의 일부로 함께 가져 오게된다는 장점이 있습니다. .
가져온 각 프로젝트는 Android Studio 프로젝트 내에서 자체 모듈을 갖게됩니다. 이러한 모든 모듈은 마치 모듈을 별도로 가져온 것처럼 서로 형제 (프로젝트 계층 구조 및 해당 파일이있는 폴더 계층 구조)가됩니다. 그러나 모듈 간의 종속성은 가져 오기 프로세스의 일부로 앱의 build.gradle 파일에 생성됩니다.
이 "가장 종속 된"Eclipse 프로젝트와 지원 라이브러리 프로젝트의 가져 오기, 테스트 및 디버깅을 마친 후에는 두 번째 Eclipse 앱 프로젝트 (작업 공간에 두 번째 프로젝트가있는 경우)와 해당 라이브러리 프로젝트 모듈 을 가져옵니다. (이전에 가져온 항목은 가져 오기 마법사에서 기존 모듈로 검색되고 복제되지 않고이 새 모듈에 다시 사용됨).
따라서 Eclipse에서 직접 단일 라이브러리 프로젝트를 가져올 필요가 없습니다. 가져 오는 앱 프로젝트에 대한 종속성에 따라 모두 간접적으로 가져옵니다. 이는 작업 공간의 모든 라이브러리 프로젝트가 동일한 작업 공간에있는 하나 이상의 앱 프로젝트의 요구 사항을 충족하기 위해 작성되었다고 가정합니다.
이 첫 번째 앱 프로젝트의 가져 오기를 수행하려면 방금 만든 프로젝트에있는 동안 Android Studio로 돌아가 File / New / New Module을 선택합니다. 당신은 수 생각하지 당신은 파일 / 새 / 가져 오기 모듈을 사용한다고하지만, 더 , 당신은해야 하지 , 당신이 할 경우, 안드로이드 스튜디오가 만드는 것이기 때문에 새로운 가져온 모듈을 보유 할 프로젝트를, 그리고 당신의 모듈을 가져옵니다 그 프로젝트 . 당신은 실제로 수 당신 만드는 첫 번째 모듈 그런 식으로,하지만 N 번째 모듈을 통해 두 번째는 여전히으로 모듈을 가져 오는 (이 다른 방법을 사용하는 것이 필요 기존그래서 저는 "빈"프로젝트 (또는 자체적으로 비어 있고 아무것도하지 않는 자리 표시 자 모듈이있는 프로젝트)로 시작한 다음 각 Eclipse 프로젝트를 해당 프로젝트에 새 모듈로 가져 오는 것으로 생각 합니다 (예 : , 우리가 여기서 취하는 접근 방식)은 덜 혼란 스러울 수 있습니다.
따라서 거의 비어있는 새 프로젝트를 가져 와서 파일 / 새로 만들기 / 새 모듈을 수행 할 것입니다. 이것이 호출하는 마법사는 생성 할 모듈의 종류를 선택할 수 있도록합니다. "Eclipse ADT 프로젝트 가져 오기"를 선택해야합니다. 이것이 현재 Android Studio 프로젝트 내에서 Eclipse 프로젝트를 Android Studio 모듈 (종속되는 라이브러리 모듈과 함께)으로 변환하는 방법을 알고있는 마법사에 액세스하는 것입니다.
소스 폴더를 입력하라는 메시지가 표시되면 Eclipse 프로젝트의 폴더 (해당 프로젝트의 AndroidManifest.xml 파일이 포함 된 폴더)를 입력해야합니다.
그런 다음 가져 오기 마법사는 만들려는 모듈 이름을 표시합니다 (원래 Eclipse 프로젝트의 이름과 비슷하지만 모듈 이름을 프로젝트 이름 (대문자로 시작하는)과 구분하는 규칙이기 때문에 첫 글자가 소문자로 표시됨). 일반적으로이 기본값을 받아들이는 것이 좋습니다.
모듈 이름 아래에는 "추가 필수 모듈"이라는 섹션이 있습니다. 가져 오는 모듈 (또는 해당 라이브러리 등)에 필요한 모든 라이브러리가 나열됩니다 . 이것이 가져 오는 첫 번째 모듈이기 때문에 이들 중 어느 것도 이미 프로젝트에 포함되지 않으므로 각 모듈은 기본적으로 가져 오기 상자가 선택되어 있습니다. 이러한 모듈이 필요하므로 선택된 상태로 두어야합니다. ( 나중에 Eclipse 앱 프로젝트 를 가져올 때 필요한 라이브러리를 이미 가져온 경우 해당 라이브러리가 여기에 계속 표시되지만 "프로젝트에 이미이 이름의 모듈이 포함되어 있습니다."라는 메모와 가져 오기 상자가 표시됩니다. 유엔 이 될 것이다-기본적으로 선택되어 있습니다. 이 경우 상자를 선택하지 않은 상태로 두어야 임포터가 새로 가져온 모듈을 이미 가져온 라이브러리에 연결할 수 있습니다. IDE가 이러한 라이브러리 모듈을 찾아 재사용 할 수 있도록하려면 Android 스튜디오가 모듈에 대해 생성하는 기본 이름을 수락하는 것이 중요 할 수 있습니다.
다음으로 임포터는 모든 jar 및 라이브러리 소스를 Gradle 종속성으로 교체하고 종속 모듈에 대한 camelCase 모듈 이름을 생성하여 기본적으로 모든 옵션을 확인하도록 제안합니다. 일반적으로 이러한 옵션을 선택한 상태로두고 계속해야합니다. 그러나 가능한 문제에 대한 경고를 읽으십시오. (프로젝트 구조 대화 상자를 통해) 가져온 모듈을 언제든지 삭제하고 가져 오기 프로세스를 다시 시작할 수 있습니다.
내가 얻은 다음 디스플레이 (YMMV)는 Android 지원 저장소가 SDK 설치에 설치되어 있지 않다고 주장합니다. 설치를 위해 Android SDK Manager를 여는 버튼을 제공합니다. 그러나 그 버튼은 나를 위해 작동하지 않았습니다. SDK 관리자를 별도의 앱으로 수동으로 열었고 Android 지원 저장소가 이미 설치되어 있음을 확인했습니다. 그러나 업데이트가있었습니다. 나는 그것을 설치하고 가져 오기 대화 상자에서 새로 고침 버튼을 탭했지만 아무것도하지 않았습니다. 그래서 계속 진행했고이 저장소의 부족으로 인해 가져 오기 프로세스가 손상되지 않은 것 같았습니다 (나중에 가져온 코드로 작업하는 동안 가끔 누락되었다는 메시지를 받았지만 진정 할 수있었습니다. 문제를 수정 한 제공된 링크를 클릭하여 (적어도 일시적으로).
이 시점에서 마침을 클릭하고 잠시 후에 모듈을 만들고 빌드해야합니다. 모든 것이 잘되면 Gradle 콘솔에 BUILD SUCCESSFUL 메시지가 표시됩니다.
한 가지 특이한 점은 빌드가 실패하면 가져온 모듈이 프로젝트 계층 구조에 표시되지 않을 수 있다는 것입니다. 새 모듈이 거기에 나타나기 전에 첫 번째 유효한 빌드에 도달해야하는 것 같습니다 (어쨌든 내 경험). 파일 / 프로젝트 구조 대화 상자에서 새 모듈을 계속 볼 수 있습니다 (예 : 모듈을 삭제하고 가져 오기를 다시 시작하려는 경우).
원래 Eclipse 프로젝트를 변경하는 것이 아니므로 방금 가져온 모듈을 언제든지 삭제하고 (가져 오기가 제대로 진행되지 않는 경우) 다시 시작할 수 있습니다. Android Studio 모듈을 삭제 한 후 Eclipse 측을 변경할 수도 있습니다. 그러면 두 번째로 가져 오기가 더 나아질 수 있습니다 (Eclipse에서 기존 소스를 빌드하는 대체 기능을 유지하는 한). 아래에서 버전 제어에 대해 논의 할 때 알 수 있듯이 프로젝트 구조가 Android Studio에서 변경되므로 Eclipse에서 빌드 할 수있는 능력을 유지해야 할 수 있습니다. 따라서 이전 커밋으로 돌아 가야하는 경우 Android Studio로 이동 (예 : 버그 수정)하면 Eclipse에서 이전 커밋을 빌드 할 수있는 기능이 필요합니다.
모듈을 삭제하려면 파일 / 프로젝트 구조를 선택한 다음 대화 상자 왼쪽에서 모듈을 선택한 다음 삭제 키를 눌러야합니다. 어떤 이유로 프로젝트 계층 구조에서 직접 모듈을 삭제할 수 없었습니다. 이 프로젝트 구조 대화 상자를 사용하여 수행해야했습니다.
가져 오기 마법사는 문제를 해결하기 위해 취한 조치와 함께 발생한 문제의 세부 목록이 포함 된 import-summary.txt 파일을 생성합니다. 가져온 코드를 빌드하거나 실행하는 데 문제가있는 경우 어떤 일이 발생하는지에 대한 단서를 제공 할 수 있으므로주의 깊게 읽어야합니다. 또한 Android Studio 프로젝트의 다양한 구조를 수용하기 위해 임포터가 이동하는 것을 찾는데도 도움이됩니다.
모든 것이 잘 진행 되지 않으면 발생할 수있는 가능한 문제와 해당 문제에 대한 해결책을 살펴보십시오.
일반적으로 내가 직면 한 두 가지 주요 문제가 있습니다.
- Proguard 문제
- 매니페스트 문제
Proguard가 엉망이되면 라이브러리에있는 메서드의 (난독 화 된) 이름이 앱에서 호출하는 데 사용되는 이름과 일치하지 않을 수 있으며 "오류 : 기호 클래스를 찾을 수 없습니다 ..."와 같은 컴파일러 오류가 발생합니다.
Eclipse에서 Proguard 항목은 라이브러리 프로젝트에서 거의 무시됩니다. 빌드중인 모든 앱 프로젝트의 Proguard 항목은 자체뿐만 아니라 종속 된 모든 라이브러리를 처리하기 위해 난독 화 등을 결정합니다. 그리고 그것은 일반적으로 당신이 원하는 것입니다.
그러나 Android Studio에서는 이와 동일한 효과를 얻기 위해 약간의 변경이 필요합니다. 기본적으로 각 라이브러리 프로젝트 모듈에 대한 build.gradle 파일에서 다음과 같은 것을 원할 것입니다.
buildTypes {
release {
minifyEnabled false
consumerProguardFiles 'proguard.cfg'
}
}
proguard.cfg는 라이브러리 모듈의 자체 proguard 구성 파일입니다.
"consumerProguardFiles"에서 "consumer"라는 용어는 분명히이 라이브러리 모듈을 사용하는 앱 모듈을 나타냅니다. 따라서 해당 앱의 proguard 명령이 라이브러리 모듈 자체의 명령보다 우선적으로 사용되며, 이로 인해 조정되고 호환되는 난독 화가 발생하여 앱 모듈에서 라이브러리 모듈로의 모든 호출이 일치하는 기호로 이루어집니다.
이러한 "consumerProguardFiles"항목은 가져 오기 프로세스 중에 자동으로 생성되지 않으므로 (적어도 내 경험이었던) 가져 오는 동안 생성되지 않은 경우 라이브러리 모듈의 build.gradle 파일로 편집해야합니다. .
난독 화를 사용하여 라이브러리 프로젝트를 별도로 배포하려면 개별 proguard 파일이 필요합니다. 나는 이것을 직접하지 않았 으므로이 답변의 범위를 벗어납니다.
앱 모듈에서 다음과 같은 것을 원할 것입니다.
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard.cfg'
}
}
(이 글을 쓰는 시점에서 내 앱이 제대로 실행되는 동안이 접근 방식을 사용하여 실제로 난독 화되는 것을 아직 직접 확인하지 않았으므로 apktool과 같은 디 컴파일러를 사용하여 직접 확인하십시오. 나중에 이것을 확인하고 해당 정보를 얻을 때이 답변을 편집합니다).
두 번째 종류의 문제는 Eclipse가 라이브러리 프로젝트를 사용하는 앱 프로젝트를 컴파일 할 때 라이브러리 프로젝트의 매니페스트 파일을 거의 무시한다는 사실 때문입니다. 반면 Android Studio에서는 일관되게 우선 순위를 지정하지 않는 두 가지가 인터리빙됩니다. 라이브러리에 대한 앱의 매니페스트.
기본 활동으로 추상 활동 클래스를 나열한 라이브러리 매니페스트가 있었기 때문에이 문제가 발생했습니다. 클래스가 있었다 파생 된 라이브러리를 사용하는 각 응용 프로그램의 매니페스트에 선언 된 내 응용 프로그램에서이 추상 클래스는.
Eclipse에서는 라이브러리 매니페스트가 무시되었으므로 문제가 발생하지 않았습니다. 그러나 Android Studio에서는 해당 추상 클래스를 앱의 활동 클래스로 사용하여 코드가 해당 추상 클래스를 인스턴스화하려고 할 때 런타임 오류가 발생했습니다.
이 경우 두 가지 선택이 있습니다.
- 도구 구문을 사용하여 앱 매니페스트의 특정 라이브러리 매니페스트 항목을 재정의합니다. 예를 들면 다음과 같습니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.goalstate.WordGames.FullBoard.trialsuite" xmlns:tools="http://schemas.android.com/tools" . . <application tools:replace="android:name"
또는,
- 라이브러리 모듈의 매니페스트에서 거의 모든 것을 제거하고 앱 모듈의 매니페스트에 의존하여 모든 가치를 제공합니다. 당신이해야 할 것을 참고 있는 각 라이브러리 모듈에 대한 매니페스트를하지만, 훨씬 더 헤더과 단지 패키지 속성을 가진 베어 매니페스트 요소보다 필요 없습니다.
나는 둘 다 시도하고 더 간단한 방법으로 위의 접근 방식 2로 끝났습니다. 그러나 라이브러리 모듈을 별도로 배포하려면 각 라이브러리 모듈의 개별 요구 사항을 반영하는보다 의미있는 매니페스트 파일을 만들어야합니다.
라이브러리 매니페스트 자체에 각 라이브러리에 대한 요구 사항 (예 : 권한)을 넣고 자동 인터리빙 프로세스가이를 앱에 대해 선언 된 것과 결합 할 수 있도록하는 더 "올바른"방법이있을 것입니다. 그러나 Eclipse가 라이브러리의 매니페스트를 무시한다는 점을 감안할 때 적어도 처음에는 앱 매니페스트에 전적으로 의존하고 라이브러리 매니페스트를 베어 본까지 제거하는 것이 더 안전 해 보입니다.
Eclipse 프로젝트의 일부 프로젝트 속성과 매니페스트 속성은 build.gradle 파일의 일부를 구성하는 데 사용됩니다. 특히 build.gradle의 compileSdkVersion은 Eclipse 프로젝트 속성의 프로젝트 빌드 버전으로 설정되고 applicationId는 앱 매니페스트의 패키지 이름이며 minSdkVersion 및 targetSdkVersion도 앱의 매니페스트 파일에서 복사됩니다. build.gradle의 종속성 섹션은 프로젝트 속성의 라이브러리 프로젝트 종속성에서 가져옵니다.
이로 인해 일부 AndroidManifest.xml 값이 중복되고 잔존 할 수 있습니다 (예 : 사용되지 않음). 이것은 혼란을 야기 할 수 있습니다. 내 이해는 build.gradle 값이 실제로 효과가있는 값이며 targetSdkVersion과 같은 매니페스트 값은 더 이상 빌드 목적으로 사용되지 않는다는 것입니다. 그러나 Google Play와 같은 앱 스토어에서 계속 사용할 수 있습니다. 나는 어떤 식 으로든 확실하지 않기 때문에이 시점에서 나는 그것들을 나란히 유지하고있다.
위의 두 종류의 문제 외에도 Android Studio에 SDK 레벨 23 만 설치 한 경우 프로젝트 빌드 레벨이 22 인 프로젝트를 가져 오는 것과 같은 일상적인 작업이 있습니다. 이 경우 레벨 22 용 SDK를 설치하는 것보다 compileSdkVersion을 22 (가져온 값)에서 23으로 이동하도록 앱 모듈의 build.gradle 파일을 편집하는 것이 좋을 수 있지만 두 가지 방법 모두 작동합니다.
이 전체 프로세스에서 무언가가 제대로 빌드되지 않고 문제를 해결하기 위해 변경 한 경우 Build / Rebuild Project 및 / 또는 Tools / Android / Sync Project with Gradle Files 및 / 또는 File / Invalidate를 시도 할 수 있습니다. 변경 사항이 완전히 통합되었는지 확인하려면 캐시 / 다시 시작합니다. 나는 이것이 진정으로 필요한시기를 정확히 알지 못합니다. 왜냐하면 당신이 아직 성공적인 빌드를 얻지 못했을 때 얼마나 많은 일이 점진적으로 수행되는지 모르기 때문입니다. 그러나 나는 일종의 미신적 인 의식으로 꽤 정기적으로 수행했습니다. 도움이되었다고 확신합니다. 예를 들어 시작 아이콘 리소스를 찾을 수없는 것으로 보이는 Resources $ NotFound 런타임 오류가 발생했을 때 세 가지를 모두 시도했는데 문제가 해결되었습니다.
첫 번째 Eclipse 프로젝트에 대해 위의 작업을 수행하고 성공적인 빌드에 도달하면 운 좋게도 재생 버튼 왼쪽에있는 Android Studio 디스플레이 상단의 드롭 다운에서 앱 모듈을 선택한 다음 재생 버튼 자체를 누른 다음 장치 또는 Android 가상 장치를 선택하면 앱이 실행되도록로드되어야합니다.
마찬가지로 서명 된 APK 빌드 / 생성 기능을 사용하여 앱의 서명 된 사본을 만들 수 있어야합니다. 재생 버튼을 사용할 때 나타나지 않는 서명 된 사본을 실행할 때 일부 가져 오기 관련 오류가 나타날 수 있으므로 가져 오기가 완료되었는지 확인하기 전에 둘 다 작동하는지 확인해야합니다.
그런 다음 버전 제어를 켜고 싶을 것입니다. git을 직접 사용하고 있지만 다른 여러 옵션을 사용할 수 있습니다.
Version control is mostly beyond the scope of this answer, but there are a few things that are affected by the importing process. First, in Eclipse you might have your various projects in various folders stuck all over the place, but when you import into Android Studio, all modules will be created as direct child folders of your main project folder. So if you had a separate git folder for each project in Eclipse, or for related groups of projects organized under a parent folder for each group (as I did), that is not going to translate very well to Android Studio.
My knowledge of this is limited as I have not worked with version control yet in Android Studio, so maybe there is a way around this, but it appears that all version control in Android Studio is unified at the project level, and so all of your modules will be under a single git archive.
This means that you may need to abandon your old git archive and start fresh with a new archive for your imported source code. And that means that you will want to keep your old git archive around, so that it can be used with Eclipse to perform any needed bug fixes, etc., at least for a while. And you also will want it to preserve a history of your project.
If you are fortunate enough to have had all of your projects organized under a single Eclipse workspace, and if you were using a single git archive for those projects, then it is possible that you might just copy your old git archive from in and under your Eclipse workspace folder to in and under your Android Studio project folder. Then, you could edit any still-relevant .gitignore items from you Eclipse project into the auto-generated .gitignore file for your Android Studio project, and let git figure out what has been changed during the importing process (and some things will have been moved around - for example, the manifest file is no longer at the top level of your module). Others have reported that git is pretty good at figuring out what has changed; I have not tried this myself.
But even if you did this, going back to a commit that precedes your move from Eclipse to Android Studio would be going back to a set of files that would only make sense from inside Eclipse. So it sounds, well, "difficult" to work with. Especially since Eclipse will still be pointing to its original set of project folders.
I personally had multiple git archives for my various sets of related projects, and so I decided to just make a clean break and start git over again in Android Studio. If you had to do this, it could affect your planning, because you would want to be at a very stable point in your code development before making the move in that case, since you will lose some accessibility to that older code within your version control system (e.g., ability to merge with post-import code) once you have made the move to Android Studio.
The part of this answer that pertains to git is partly speculative, since I have not actually worked with version control yet on my imported project files, but I wanted to include it to give some idea of the challenges, and I plan to update my answer after I have worked more with version control inside Android Studio.
According to http://tools.android.com/tech-docs/new-build-system/migrating-from-eclipse-projects, You have a couple of choices
- simply importing
- pre-exporting first from Eclipse.
Pre-exporting from eclipse may be the better choice if your project contains a lot of relationships that are Eclipse-specific. A.S. cannot 'translate' everything Eclipse can produce. If you want to continue using Eclipse as well as A.S. on this project code, this is the better choice. If you choose this method, please read the above link, there are some important pre-requisites.
Simply importing into AS will let AS 'translate' and rearrange the project, and is the recommended method, especially if you have no intention of returning to Eclipse. In this case, you let the A.S. wizard do everything and you dont need to manually generate gradle files.
In addition to the answer by Scott Barta above, you may still have import problems if there are references to Eclipse workspace library files, with e.g.
/workspace/android-support-v7-appcompat
being a common one.
In this case the import will halt until you provide a reference (and if you've cloned from a git repo, it probably won't be there) and even pointing to your own install (e.g. something like /android-sdk-macosx/extras/android/m2repository/com/android/support/appcompat-v7) won't be recognised and will halt the import, leaving you in no-man's land.
To get around this, look for refs in the project.properties or .classpath files that came in from the Eclipse project and remove/comment them out, e.g.
<classpathentry combineaccessrules="false" kind="src" path="/android-support-v7-appcompat"/>
That will get you past the import stage and you can then add these refs in your build.gradle (Module:app) as indicated in the Android tutorial, like below:
dependencies {
compile 'com.android.support:appcompat-v7:22.2.0'
}
Here is a simpler way to migrate:
Start off with a sample Android Studio project. Open android studio and create a new project (or) just download a ‘sample’ studio project here: https://github.com/AppLozic/eclipse-to-android-studio-migration. Now, open the downloaded project in Android Studio by following the below instructions.
Import eclipse project modules into Android Studio. Select File -> New -> Import Module Image title
Next, select the path of the eclipse project and import the modules. In case, if you see the message “Failed to sync Gradle project,” then click on “Install Build Tools and sync project…”
Now, remove the sample project modules by following the below simple steps:
Open settings.gradle and remove “include ‘:app’” Right click on “app” module and “Delete” it. Now, what we have is the Eclipse project open in Android studio with the Gradle build.
Here are few other links which might help you:
http://developer.android.com/sdk/installing/migrate.html Source: http://www.applozic.com/blog/migrating-project-from-eclipse-to-studio/
Simple steps: 1.Go to Android Studio. 2.Close all open projects if any. 3.There will be an option which says import non Android Studio Projects(Eclipse ect). 4.Click on it and choose ur project Thats't it enjoy!!!
Stop installing android studio 3.0.1 and go back 2.3.3 ( Stable version) . Check for the stable version and you can find them a lot
제거하고 다른 버전으로 돌아 가기 만하면됩니다. 예, 완전히 새로운 gradle 파일을 별도로 생성하도록 요청합니다!
실패는 성공의 디딤돌입니다 ..
Eclipse/ADT프로젝트 를 가져 오는 가장 좋은 방법 은 Android Studio로 직접 가져 오는 것입니다. 처음 GO to Eclipse project에는 project.properties파일을 삭제 하십시오.
그런 다음 Android 스튜디오 도구를 열고 Eclipse 프로젝트 (Eclipse ADT, Gradle 등)를 가져옵니다.
'Program Club' 카테고리의 다른 글
| javascript / momentjs에서 날짜를 만들 때 시간대 무시 (0) | 2020.12.07 |
|---|---|
| 창 스크롤 이벤트에 클래스 토글 바인딩 (0) | 2020.12.07 |
| Spring MVC 컨트롤러를 @Transactional로 만들면 안되는 이유는 무엇입니까? (0) | 2020.12.07 |
| getResource ()를 사용하여 리소스 가져 오기 (0) | 2020.12.07 |
| Java에서 출력 매개 변수를 사용하는 방법은 무엇입니까? (0) | 2020.12.07 |













