안드로이드 스튜디오 작품이였던 구조 (v. s. Eclipse 프로젝트 구조)

39 m, 내가 처음에 한 수 배우는 i& 안드로이드 개발 및 구조 사이에 두고 다른 프로젝트에 의해 Eclipse 와 안드로이드 스튜디오. 이 더욱 어려운 따라와야지 자습서는 설계됨 Eclipse. Let me know why 이러한 차이는 누구나 할 수 있는가? /Dev/raw/raw200 안내선이?

예를 들어, if I were java 파일의 경로를 찾기 위해 서로 다른 두 개의 ide, R. 죽이려하겠어요 다음과 같습니다.

  • Eclipse:* app\gen\com.example.app\R.java

  • 안드로이드 Studio:* app\build\source\r\debug\com.example.app\R.java

왜 이러한 경로를 달랐다구? 왜 내 R. jave 디버그입니다 폴더에 있는 안드로이드 스튜디오? 이 몇 가지 오류가 생길 수 있으며, 이러한 차이를 파악할 수 있는 누군가가 내가 일찌감치 감사히 여길 저들이요

질문에 대한 의견 (6)
해결책

그가: # Android # 39 의 Studio& 구조 및 시스템 구축 프로젝트

39, 내가 모르는 don& 태그일 경우 슬픔으로창백해지고 Gradle 빌드 시스템 (I& 내기; d # 39 이것은) # 39, ll, ve 이해할 수 있지만, 지금까지 I& # 39 I& 알려줍니다.

      • 참고 자료 '에 이어', '맛을 부일드티페스 4:* 업데이트하십시오 11/09/2014' 와 '변형' (난 결국 자신이 쓴 기분 d)
  • 업데이트 11/09/2014 업데이트되도록 3:* workspaces 및 프로젝트 정확히 비교
  • 업데이트 17/04/2014 로 구조를 자세히 2:* 추가되든지 프로젝트
  • 업데이트 29/07/2013 추가되든지 1:* 린텔리 프로젝트 구조

    39 의 프로젝트 구조 (표시됩니까 끝에) 이 IntelliJ& 린텔리 캐비닛용입니다 함께 안드로이드 플러그인에는. 그러나 최근 안드로이드 스튜디오 같은 프로젝트 구조 분할됩니다 있습니다.

    구조: 프로젝트 및 모듈

            • Eclipse 에서 like a 는 안드로이드 스튜디오 에서 모듈 프로젝트
              • Eclipse 에서 안드로이드 스튜디오 프로젝트 후, 마치 작업공간에서 * (정확히, 작업공간에서 상호 함께 프로젝트) 의 1 에서 [문서] (안드로이드 스튜디오) 를 기준으로 Intellij IDEA): &gt. Intellij idea 의 맥락에서, 무슨 일이 있어도 할 &gt. 프로젝트에 소속된 일본의 여성 아이돌 그룹이다. 프로젝트는 디바이스입니다 제이보드 조직 &gt. 전체 소프트웨어 솔루션. &gt. &gt. 일련의 이산식, 완성된 제품을 악취가 agent. 수 있습니다. &gt. 하지만 그들을 누구이뇨 # 39 의 정의를 격리됨 모듈에서는 it& 프로젝트 &gt. 모두가 모여 큰 관계가 묶습니다. 안드로이드, 그리고 1 개 당 하나의 프로젝트를 위한 무슨뜻이냐믄 애플리케이션당 모듈에서는 라이브러리 및 테스트당 app. 여러 가지 문제를 구축하십시오 시도할 경우 여러 애플리케이션을 하나의 프로젝트. # 39 의 수 있지만 it& 하면 거의 모든 것을 볼 수 있습니다 (like I did) 당 하나의 앱으로 작동하도록 고안되었습니다 프로젝트. 예를 들어, project&quot 재구축합니다 &quot 옵션이 있습니다,, 많은 다른 여러 애플리케이션을 함께 있도록 하는 말이 안 돼 프로젝트 설정 및 내장 VCS 시스템 isn& 약간만이라도 쓸모없는 # 39, t 멋지구리해요 여러 개인 경우 리포지토리를.

                구조: 폴더 구조

                안드로이드 스튜디오 작품이였던 구조!

                # 최상위 폴더용

                1. 주 프로젝트

                이 프로젝트 컨텍스트로 약간만이라도 전체 ( Eclipse Land: 작업공간에서 what& # 39 로 제한되어 있지만, s 등 관련 프로젝트에). 예: '너' 는 '이름' 응용 프로그램의 경우 헤로월드프로젝트 제공했음 HelloWorld

                자이디 # 2.

                이 프로젝트를 통해 특정 메타데이터입니다 저장되어 있는 안드로이드 스튜디오 (AS). ( Eclipse Land: 'project.프로페르티스' file)

                3. # 프로젝트 모듈에서는

                이는 실제 프로젝트. 예: helloworld "만약 '는 응용 프로그램 이름을 제공했음 helloworld

                # 4. gradle

                여기가 gradle system& 구축하십시오 # 39 의 래퍼 즉, 이 jar 가 어떻게 jar 로 gradle 통신하여 설치된 Windows (OS 내 경우).

                5. # 외부 라이브러리

                그러나 실제로 이 곳 없는 폴더란 Referenced 라이브러리 ( Eclipse Land: Referenced 라이브러리보다는) 표시됩니까. # 39 에 있는 here& 목표화된 플랫폼 표시됨을 상술합니다. [ 때는기대어 note:, 이러한 상황에서 많은 미국 Eclipse 있는모든 행하였 삭제하시겠습니까 referenced 해결하십시오 참조 오류를 수정하고 라이브러리를 프로젝트 속성을 기억나냐고]

                # 프로젝트 폴더 자세히

                이 번호 (# 3 위 목록. 은 다음과 같은 하위 디렉토리 빌드 # # 1. 이러한 조치는 모두 '공정', 즉 전체 출력을 할 클라세이데스 컴파일됨 클래스 및 자원, etc. Gui 의 안드로이드 스튜디오, 오직 몇 개의 폴더용 표시됩니까. 여기서 중요한 사실은 '에서 발견되며, flavor&gt build/source/&lt 너회의 R. jave 구축하십시오 유형 (옵션),,, /r/&lt &gt /&lt package&gt /R.java'

                # 2 라이브러리

                이것은 표준 라이브러리 폴더로 볼 수 있는 있는모든 eclipse 에서 너무

                # 3. src

                여기서 볼 때만 jave '와' res '폴더' 와 'res' Eclipse '폴더' src 폴더에 해당하는 있는모든 . 이건 훨씬 더 단순화 이럴 환영했다.

                # 참고 있는 모듈:

                모듈은 있는모든 Eclipse 등 프로젝트. 여기 이 가설로는 이미 보유한 애플리케이션 프로젝트 (모듈에서는 # 3 위 목록에서) 및 여러 라이브러리 프로젝트 () 로 글로벌 프로젝트 폴더 아래에 별도 모듈 (# 1 위 목록)) 가 프로젝트 응용 프로그램에 따라 달라집니다. 어떻게 이런 라이브러리 프로젝트, 난 여전히 haven& # 39, 나와 다른 응용 프로그램에서 다시 사용할 수 없다. [ 때는기대어 note: 전체 다시 조직 같은 몇 가지 장점이 있지만, 너무 많은 합병증요 src 의 폴더에서는 단순화 있다. 이 합병증요 주로 여기있을 새 프로젝트 때문에 아주 얇은 문서용으로 레이아웃용.]

                새로운 시스템을 구축하는

                User Guide for the new Build System

                # 대한 설명 및 부일드티페스 등 - 이 맛을 지정하십시오. 와글와글?

                # 및 부일드티페스 맛을 위해 컨닝 지

  • BuildType: '디버그입니다' 와 '릴리스에는 부일드티페스' '이' 일정을 모두 기본적으로 사용할 수 있습니다. 이들은 이 같은 다른 apk 코드의 구축 / 컴파일하기를 기능*을 생성할 수 있습니다. 예를 들어 '에' 릴리스에는 apk 그녀의심장을 프로가드 실행할 수 있습니다 (backup-to-disk 난독화), 고객의 주요 (as 아니했으니 디버그입니다 키) 이 법안에 서명할 실행하십시오 최적화 (아마 프로가드 또는 기타 도구를 통해) 을 사용하여 파커겐임스 약간 다른 '' (우리가 사용하는 '코맥컴파니오프로더스' 는 '릴리스에는 코맥컴파니오프로두ct.드버그' 와 '' 는 '디버그입니다') 등이다. 또한 디버그입니다 플래깅 ('부일드콘피g.드버그') 를 사용할 수 있는 '릴리스에는 선반가공 끄기도구 로깅하기 로그카트 (이후 그 과정에서 앱 slow)' 는. 따라서 보다 신속하게 '뿐만 아니라' 에 최적화된 '릴리스에는 동일팔레트에 제작식 개발 과정에서 구축하십시오 디버그입니다' 플레이 스토어.
  • 제품 Flavor: 기본 사용할 수 없는 맛을 (또는 정확히, 기본값입니다 flavor 비어 / 이름없는). 무료로 제공되는 유료 버전 '또는' 맛을 볼 수 있는 다른 이들은 코드*의. 그들은 '주' (또는 no 버전) 그러나 다른 버전을 코드 공유 같은 몇 개의 소스 코드 파일 또는 '이다.
  • BuildVariant: 부일드버리안트 'A' 는 실제로 어떤 생성된 APK 해당합니다. 그래서 그들은 release. 같은 제품 선호 (순서대로) '+' 유형 '=' 변형 '' 구축하십시오 구축하십시오 *.
  • 1: '자유' 와 '예' 으로 맛을 낸 경우 2. 빌드 변형 구할 수 있습니다. 무료 - 디버그입니다 릴리스에는 무료 디버그로 지불됨 - 릴리스에는 지불됨 이것이 가능한 4 APK 구성. 그러나 그들은 쉽게 이해할 수 없는 몇 가지 특정 프로젝트의 구성에 * 사용할 수 있다.
  • 예 2:* (새로운 프로젝트를 맛을 / no) '또는' 2 '는 이후 부일드버리란츠 apk 사용할 수 있습니다 / 빈 다루는 기본 강렬하다. 디버그입니다 릴리스에는

    비교하면 [Intellij& # 39 의 프로젝트 구조] [4] # 경우 해당) 의 장점은 다음과 같습니다.

    린텔리 프로젝트 구조 스냅샷입니다! , 폴더에는 수많은 서브폴더에 자이디 (1) 를 통해 내부 정보를 주로 IntelliJ IDEA.

      • 폴더에는 미야스티비티스자바 src (2) (3) 기능을 구현하는 응용 프로그램의 소스 파일을 코드*의. 파일 코맥렉사 플레 속한 패키지.
  • Res (4) * 폴더에는 다양한 시각적) '이다.
  • 이 layout/main.xml 파일 (5) * eventtest 모양이 다양한 유형의 애플리케이션 리소스에는 해당한다.
  • 값을 저장하기 위한 파일 폴더 (6) * 고안되었습니다 .xml 리소스에게 설명하는 다양한 종류의. 현재 포함된 파일과 폴더를 스테링스.1믈 구체화하십시오 리소스에는 정의. 색상 부분의 추가에는 보면 알 수 있으므로, 예를 들어, 설명자를 색계열 레이아웃용 폴더에서는 포함될 수도 있습니다.
    • Map_layer 드로어 블 폴더 (7) 를 지원한다.
        • 파일 폴더 (9) 에는 리자바 gen (8) 를 연결하는 인텔®visual 리소스와자원과 Java 소스 코드. Intellij idea 는 것에서 알 수 있으므로 아래 섹션을 간의 긴밀한 통합 정적임 리소스와자원과 R. 자바드 즉시 모든 자원 가속화합니다 제거되었거나, 이에 따라 해당 클래스를 및 클래스용 필드에 R. jave 제거되었거나 자동으로 생성됩니다. 이 R. jave 파일도 코맥렉사 플레 속한 패키지. [4]: http://wiki.jetbrains.net/intellij/Developing_applications_for_Android_in_IntelliJ_IDEA # Creating_a_New_Project
해설 (3)

&gt. 안드로이드 스튜디오. app\build\source\r\debug\com.example.app\R.java

&gt. 왜 이러한 경로를 달랐다구? 왜 내 R. jave 디버그입니다 폴더에 있는 안드로이드 스튜디오? 이 몇 가지 오류가 생길 수 있으며, 이러한 차이를 파악할 수 있는 누군가가 내가 일찌감치 감사히 여길 저들이요

간단히 말해, 안드로이드 스튜디오 구성된 구축하십시오 디버그입니다 [ 구축하십시오 유형 ] (http://tools.android.com/tech-docs/new-build-system/user-guide # 구축하십시오 유형은상위 목차) 시스템에.

한 번에 하나의 eclipse/adt 지원하도록 설계됩니다 구축하십시오 (뭐로부터요 내가 말할 수 있어). 주요 목표 중 하나는 새로운 시스템을 구축하는 ([사용자로부터 안내선] (http://tools.android.com/tech-docs/new-build-system/user-guide # 새로운 시스템을 구축하는 목차 목표):

Make it easy to create several variants of an application, 
either for multi-apk distribution or for different flavors of an application

그렇다면 Eclipse ADT 있다 '는 여러 개의 파일을 한 / 안드로이드 스튜디오' R. jave 생성할 수 있습니다. R. jave 위치해 있기 때문에 생성된 '' '폴더' 디버그입니다 기본적으로 새 시스템을 구축하는 '는' 디버그입니다 '와' 릴리스에는 구축하십시오 유형은상위 끕니까 박쥐이다. 변경한 경우 구축하십시오 변형 (버튼, 왼쪽 하단에 AS) 를 낼 수 있을 것으로 릴리스에는 R. jave '를' 릴리스에는 '' 디렉터리입니다.

하지만 이 프로젝트에 대한 지지를 아무 의미 없게 간단한 [ 구축하십시오 변형 ] (http://tools.android.com/tech-docs/new-build-system/user-guide # 목차 구축하십시오 변형) 등 많은 개발자들이 빌드 프로세스를 대폭 간소화 고말은 프로젝트 i& # 39, m working on.

우리 프로젝트는 2 개 포함 4 유형 (디버그입니다 및 릴리즈하라는) 는 맛을 구축하십시오 지원하기 위해 총 8 개의 서로 다른 APK 있습니다. 그 때문에 이 빌드 시스템의 구성 및 각 조합에 따라 조금씩 차이가 있는 협력했습니다 아웃해야 정말 우리를 위해. 내 안드로이드 스튜디오 설치됩니까 신앙이니라 메모리 역할을 하며, 다른 시스템에 존재하는 ',', '내 올바르게 R. jave build/source/&lt flavor&gt type&gt 구축하십시오 /r/&lt, 파일, /package/R.java'. Apk 파일 서버 구축 때 우리 CI 를 사용하며, 각 'R. jave' 파일을 별도의 패키지를 생성할 수 있습니다.

해설 (0)

&gt. 1 을 [해마다 지원] 구글 안드로이드 개발자 도구 &gt. Eclipse) 는 당 (ADT) 에 기간말 lionbridge 발표. 마이그레이션해야 합니다 &gt. 안드로이드 앱 개발 프로젝트를 너회의 스튜디오 해야한단말입니다. &gt. 자세한 내용은 안드로이드 스튜디오 http://schmidt. devlib. 마이그레이션함으로써 전환 &gt. 안드로이드 스튜디오.

해설 (1)

안드로이드 스튜디오 3.0.1 및 위해 선택한 모든 기능:

  • 최신 안드로이드 O
  • 안드로이드 오토
  • 안드로이드 창조하셨노
  • 안드로이드 웨어
  • 안드로이드 TV
  • C++컴파일러는 지원부에서는
  • 코틀린 지원부에서는

버전 3.0.1 언약보다는 여바바 같은 구조의 전혀 다른 모든 분입니다.

최근 구조가 표시된 2018년, 안드로이드 스튜디오 3.0.1 01/2018.

뭔가 좀 찾을 수 있는 기능을 사용 가능한 뉴비 같은 하위 폴더:

!

안드로이드 스튜디오 업데이트하십시오 3.0.1 01_2018:

!

도구팁:

!

해설 (0)