플러그인이있는 Android Studio와 Intellij Idea의 차이점은 무엇입니까? 아이디어 커뮤니티 또는 궁극? 이

우리는 개발을 위해 인텔 리즈 아이디어를 사용하는 기존 자바 코드베이스를 가지고 있습니다.

우리는 기존 코드 및 리소스 기반과 코드 및 기타 리소스를 공유 할 Android 애플리케이션을 구축하고 있습니다.

Android Studio가 주로 Intellij의 수정 된 버전 인 것처럼 보이므로 내 질문은 Android Studio에 없어서는 안될 완전히 특정 기능이 있습니까? 호환되지 않습니까? “표준”? 대 Intellij 아이디어 커뮤니티 또는 궁극? 이 둘은 적절한 플러그인 세트로 교환 할 수 있습니까?

Intellij Idea를 다양한 Android 지원 플러그인과 함께 사용한다면이 플러그인이 Android Studio와 함께 제공되는 것과 동일한가요? 이 플러그인 세트로 프로그램을 사실상 상호 교환 할 수 있습니까?

( “ant”지원은 Android Studio에 없습니다. 필요한 것은 다양한 명령에 대한 메뉴 구성 항목 집합을 사용하여 IDE에서 실행 파일을 호출 할 수있는 기능뿐입니다. 이제 intellij ant 지원을 사용하여이 작업을 수행하기 때문입니다. 사용 가능)

Intellij는 Google의 “공식”도구이기 때문에 항상 Android Studio 인 릴리스가 지연되고 있습니다.

호환되지 않는 경우 두 시스템간에 공통 리소스와 도구를 사용하는 가장 쉬운 방법은 무엇입니까?



답변

업데이트 된 답변 2019 년 11 월

과거에는 Android 플러그인이 설치된 IntelliJ IDEA에는없는 Android Studio의 기능이 없었습니다. 그러나 처음부터 Android Studio는 성장했으며 특히 최근 IntelliJ IDEA에서 점점 더 많이 분리되었습니다. 이제 IntelliJ IDEA와 호환되지 않는 일부 플러그인이 Android Studio에 번들로 제공됩니다. 이러한 예 중 하나가 2019 년 6 월에 처음 출시 된 Android APK 지원 입니다. 또한 ‘Android Games’와 같이 JetBrains 플러그인 사이트 (현재)에도 나열되지 않은 Android Studio와 함께 번들로 제공되는 일부 Android 기반 플러그인이 있습니다. “Android NDK 지원”, “App Links Assistant”등.

따라서 현재로서는 Android 프로젝트에 Android Studio를 사용하고 서버 측 애플리케이션과 같은 보조 개발에는 IntelliJ IDEA를 사용하는 것이 가장 좋습니다.

둘 다 쉽게 사용하는 방법

JetBrains의 도구 상자 응용 프로그램은 쉽게 설치하고 옆에 두 개의 IDE의 측면을 사용 할 수 있습니다. 또한 매우 쉽게 업그레이드 (원하는 경우 롤백) 할 수 있습니다. 도구 상자는 몇 년 전에 처음 출시되었을 때 Android Studio를 지원하지 않았습니다. 따라서 하나 또는 다른 하나를 선택하는 것은 “문제”에 가깝습니다. 또한 설정 리포지토리 플러그인 (두 IDE에 번들로 제공됨)을 사용하여 두 IntelliJ 플랫폼 IDE 간의 설정을 쉽게 동기화 할 수 있습니다. ( IntelliJ IDEA 문서에서 설정 저장소통해 설정 공유를 참조하십시오 .) 따라서 Toolbox App과 설정 저장소 플러그인간에 둘 다 사용하는 것이 편리합니다 (IMHO).


이전 (오래된) 응답 양식 2015 년 6 월

첫째, 면책 조항 … 저는 IntelliJ IDEA에서 모든 작업을 할 때 Android Studio를 가볍게 사용했습니다. 하지만 저는 2003 년부터 IntelliJ IDEA의 열렬한 사용자였습니다.

Android Studio가 주로 Intellij의 수정 된 버전 인 것처럼 보이므로 내 질문은 Android Studio에 없어서는 안될 완전히 특정 기능이 있습니까? 호환되지 않습니까? “표준”? 대 Intellij 아이디어 커뮤니티 또는 궁극? 이 둘은 적절한 플러그인 세트로 교환 할 수 있습니까?

빠른 답변은 Android 플러그인이 설치되고 활성화 된 상태에서 IntelliJ IDEA (커뮤니티 또는 Ultimate)에서 할 수없는 Android Studio에서 할 수있는 작업이 없다는 것입니다. 다음은 IntelliJ IDEA 기능 매트릭스의 스크린 샷입니다.
여기에 이미지 설명 입력

기본적으로 Android 스튜디오는 IntelliJ IDEA보다 Android 용 “브랜딩”이 더 많습니다. 그리고 그것은 단지 Android IDE이기 때문에 더 “집중”할 수 있습니다. 앞서 언급했듯이 Intellij IDEA에서 할 수없는 Android Studio에서 할 수있는 작업은 없습니다. 그러나 그 반대는 사실이 아닙니다. IntelliJ IDEA (커뮤니티 및 얼티밋 에디션 모두)에서 할 수있는 작업은 Android 스튜디오에서 할 수없는 여러 가지 (비 Android)가 있습니다.

Android 스튜디오가 IntelliJ IDEA 플러그인을 사용할 수 있는지 여부에 대한 질문과 관련하여 플러그인과 그것이 활용하는 구성 요소 (IntelliJ 플러그인 API 내)에 따라 달라집니다. 플러그인을 작성할 때 사용하는 API 종속성을 (플러그인 설명자에서) 선언해야합니다. 몇 가지 예는 com.intellij.modules.lang, com.intellij.modules.java, AntSupport, 및 Git4Idea. 다른 플러그인을 포함하여 수백 개는 아니더라도 수십 가지 가능성이 있습니다. 따라서 플러그인 (또는 종속 항목 중 하나)이 Android Studio에 포함되지 않은 플러그인 API의 무언가를 사용하게되면 해당 플러그인이 작동하지 않습니다. 예를 들면, 나는 플러그인 하나는 단지에 의존하기 때문에 안드로이드 스튜디오와 호환 인 것으로 JetBrains의 플러그인 페이지에서 (모바일 개발과는 전혀 무관이) 목록을 작성 com.intellij.modules.lang하고com.intellij.modules.java. 따라서 양방향으로 진행할 수 있지만 (더 많은 구성 요소가 설치된 IntelliJ IDEA로 인해) 플러그인이 해당 플러그인에 고유 한 항목에 대한 종속성의 결과로 IntelliJ IDEA에서만 호환 될 수 있습니다.

Intellij는 Google의 “공식”도구이기 때문에 항상 Android Studio 인 릴리스가 지연되고 있습니다.

그것은 양방향으로 갈 수 있습니다. JetBrains는 Android Studio에 도달하는 데 시간이 걸리는 것들을 추가 할 수 있습니다. 그리고 Google은 IntelliJ IDEA에 도달하는 데 시간이 걸리는 것들을 추가 할 수 있습니다. 그러나 후자가 더 널리 퍼질 가능성이 큽니다. 그러나 나는 그 지연이 얼마나 오래 걸리는지 모른다. 이 JetBrians 블로그 게시물은 이와 관련하여 도움이 될 수 있습니다. IntelliJ IDEA 및 Android Studio FAQ

내 개인적인 권장 사항은 다음과 같습니다. Android 개발 만 할 것이라는 것을 알고 있다면 Android Studio를 사용하십시오. 또한 새로운 Android 개발자는 대부분의 문서 및 자습서에서이를 표시하고 IntelliJ IDEA에서 가끔 사소한 차이 (예 : 메뉴에있는 위치)가있을 수 있기 때문에 Android Studio가 더 적합하다고 생각할 것입니다. 그러나 Java, Kotlin, Groovy 및 / 또는 Scala를 사용하거나 다른 언어 (Python, php, html, css, JavaScript 등) 또는 서버 측 (또는 “엔터프라이즈 “) 코드-Android 앱 또는 기타 작업용으로 사용하고 IntelliJ IDEA를 사용하세요.

일부 설명과 추가 스크린 샷을 위해 2018 년 8 월 4 일에 편집 되었습니다.

새로운 정보를 추가하기 위해 2019 년 11 월 25 일에 업데이트되었습니다 .


답변

Android 개발의 경우 Android Studio를 사용하는 것이 가장 좋습니다 (현재 미리보기 1.3 사용 가능).

Android Studio는 Intellij를 기반으로하므로 “학습 곡선”이 문제가되지 않습니다.

“공통 리소스”를 사용하려면 코드를 참조한다고 가정합니다. … 그리고 저장소 (git / github / …)에 있어야합니다.


답변