>

웹을 검색 할 때 Java 8이 Android 개발에 지원되는지 확실하지 않습니다.

Java 8을 다운로드/설정하기 전에 Java 8이 Android 개발에 지원되는지 또는 지원되지 않는다는 "공식"문서를 알려줄 수 있습니까?


  • 답변 # 1

    자바 8

    Android는 모든 Java 7 언어 기능과 플랫폼 버전에 따라 다른 Java 8 언어 기능의 하위 세트를 지원합니다.

    지원되는 Java 8의 기능을 확인하려면

    Java 8 언어 기능 사용

    와이즈 비즈

    Android에서 Java 8 언어 기능 지원의 미래

    일식 사용자 :

    Eclipse를 선호하는 오래된 개발자의 경우 Google은 Eclipse Android 개발자 도구를 지원하지 않습니다

    Java 8 JDK를 설치 한 경우 시도해보십시오. 문제가 발생하면 창 메뉴 →환경 설정Java에서 Eclipse에서 컴파일러를 1.6으로 설정하십시오. →컴파일러. Java 7도 작동합니다 :

    Java->Compiler">

    와이즈 비즈

    여러 JDK를 설치하고 시도하십시오.

  • 답변 # 2

    업데이트 2017/11/04-Android Studio 3.0은 이제 Java 8을 기본적으로 지원합니다.

    We've decided to add support for Java 8 language features directly into the current javac and dx set of tools, and deprecate the Jack toolchain. With this new direction, existing tools and plugins dependent on the Java class file format should continue to work. Moving forward, Java 8 language features will be natively supported by the Android build system. We're aiming to launch this as part of Android Studio in the coming weeks, and we wanted to share this decision early with you.

     더 이상 필요하지 않습니다. https://developer.android.com/studio/write/java8-support.html

    을 참조하십시오.

    Java 7 or higher is required if you are targeting Android 5.0 and higher.

    를 사용하는 경우 위의 링크에는 마이그레이션 지침도 포함됩니다. . 아래의 원래 답변 :

    <시간>

    Android는 Java 8을 지원하지 않습니다. 최대 Java 7 (kitkat이있는 경우) 만 지원하며 여전히 invokedynamic이없고 새로운 구문 설탕 만 있습니다.

    Android에서 Java 8의 주요 기능 중 하나 인 람다를 사용하려면 gradle-retrolamba를 사용할 수 있습니다. Java 8 바이트 코드를 Java 6/7로 다시 변환하는 도구 인 retrolambda를 통합하는 gradle 빌드 종속성입니다. 기본적으로 Android Studio에서 컴파일러를 설정하여 Java 8 바이트 코드를 컴파일하여 람다를 허용하면 다시 Java 6/7 바이트 코드로 변환 한 다음 다시 dalvik 바이트 코드로 변환됩니다. 공식 지원 대신 안드로이드에서 일부 JDK 8 기능을 사용 해보고 싶다면 해킹입니다.

  • 답변 # 3

    실제로 gradle-retrolambda 를 사용할 수 있습니다  안드로이드 개발을 위해 Java 8을 사용하기위한 빌드 의존성 gradle.

    아래는 최근 안드로이드 개발을 위해 람다 식을 실행하기 위해 따라온 완벽한 가이드입니다. 이 안내서의 원본은 마지막에 언급되어 있습니다.

    와이즈 비즈 준비 이 안내서는 독자가 Android 개발에 대한 기본 지식을 가지고 있으며 ADT 버전 22.6.2를 기반으로하고 있다고 가정합니다. 최근 ADT 버전 23.0.2는 레이아웃 폴더 작성과 같은 문제가있는 것으로 보입니다. 이 문제에 대한 자세한 내용은 다음 링크를 참조하십시오.

    http://code.google.com/p/android/issues/detail?id=72591

    이 안내서의 단계는Windows 8.1, 64 비트개발 시스템에 대해 제공되지만 다른 플랫폼에 쉽게 적용 할 수 있습니다. 새로운 빌드 시스템 gradle-retrolambda  빌드/클리닝 프로세스에 사용되며 설치 절차도 제공됩니다. 또한, gradle-retrolamba  그리고

    In this guide, a method for bringing someJava 8features into Android Development Tools will be demonstrated, specifically aiming at Eclipse IDE. However, steps which will be described throughout this guide might also be adapted to Google’s new uprising development environment, Android Studio. It is based on the community edition of popular IntelliJ Idea IDE by JetBrains and it has recently been upgraded to its ‘beta’ version by Google in early July 2014, slightly before this guide was written. Eclipse will remain as the prominent development environment, at least for a while, and considering the fact that most Android projects have been developed using Eclipse, a method for bringing new Java 8 features like lambda expressions into ADT seems to be quite useful for developers.

    Android Development is based on a custom Java implementation called Apache Harmony Project which was terminated back in 2011. The most commonly used Java syntax in Android Development is Java 6 (v1.6) and Java 7 (v1.7) is also partially supported on the KitKat edition (Android 4.4.+). Therefore, Java 8 features like lambda expressions cannot be used directly in the Android App Development without applying some tweaks into the development tools. Luckily, these constructs are basically some ‘syntactic sugar’ enhancements which give developers the shortcomings of things like ‘anonymous classes’ and they can be translated into Java 6 or Java 7 classes.

    A recent approach for translating a Java 8 source code into lower Java versions is calledRetroLambda. This library makes developers run Java 8 code with lambda expressions on Java 7 or even lower. Unfortunately, Java 8 features other than lambda expressions are not supported by RetroLambda for now but the concept of lambda expressions is the biggest leap on Java 8 platform and it’s a great tool for Android developers anyway.

    Details about this library can be found on its GitHub page:

    https://github.com/orfjackal/retrolambda#getting-started

    Also, a Gradle plugin for RetroLambda created by another developer allows Gradle-based builds to be implemented in Java or Android Projects. However, the developer only mentions about integrating this plugin into Android Studio environment. Details can be found on its GitHub page:

    https://github.com/evant/gradle-retrolambda

    Using these infrastructures within an Eclipse-based development environment cannot be approached directly but it’s doable and will be demonstrated throughout this guide.

     개발 머신에 공존해야합니다. 설치하려면 아래 단계를 따라야합니다.

    JDK 8 초기 액세스 미리보기 페이지 http://jdk8.java.net으로 이동

    JDK 8u20을 다운로드하여 설치하십시오. JRE 8 설치가 필요하지 않으며 건너 뛸 수 있습니다

    JDK 7 최신 안정 릴리스 페이지 (http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)로 이동

    JDK 7u65를 다운로드하여 설치하십시오. JRE 7 설치는 다시 필요하지 않으며 건너 뛸 수 있습니다

    JDK 8 홈 폴더 및 JDK 8 Gradle 추가   JDK 8 에 폴더  변수

    새로운 환경 변수 JDK 7 만들기  JDK 8 홈 폴더의 경로 값으로

    새로운 환경 변수 bin 만들기  JDK 8 홈 폴더 경로 값으로 다시

    새로운 환경 변수 %PATH% 만들기  JDK 7 홈 폴더의 경로 값으로

    터미널 창을 열고 JAVA_HOME 를 실행하십시오.  명령을 실행하고 Java 8이 시작되어 실행 중인지 확인

    JAVA8_HOME 실행  같은 창에서 명령을 실행하고 JDK 8 Java 컴파일러가 시작되어 실행 중인지 확인

    이제 ADT-22.6.2는 다음 링크에서 다운로드해야합니다.

    http://dl.google.com/android/adt/22.6.2/adt-bundle-windows-x86_64-20140321.zip

    ADT를 다운로드하고 내용을 폴더에 압축 해제하십시오 (예 : 와이즈 비즈

    JAVA7_HOME 라는 새로운 환경 변수 정의ADT 설치 폴더의 경로 값과 함께 와이즈 비즈

    와이즈 비즈 추가  그리고 java -version  폴더 (예 : 와이즈 비즈  그리고 javac -version , 당신의 D:\adt 에  변수

    원하는 경우 Eclipse IDE에 대한 바로 가기를 작성하십시오. ADT 설치 폴더 아래에 있습니다 (예 : 와이즈 비즈

    Eclipse IDE를 실행하고 작업 공간을 만듭니다 (예 : 와이즈 비즈

    ANDROID_HOME 를 클릭하십시오  툴바에있는 버튼

    와이즈 비즈 선택  그리고 D:\adt\sdk  뿐. 다른 모든 것을 선택 해제하고이 두 패키지를 설치하십시오.

    모든 것이 제대로되면 ADT가 작동합니다.

    다음 도구를 설치하는 것이 좋습니다.

    Eclipse Kepler Java 8 지원 : Eclipse에서 새로운 Java 8 구문 확장을 인식하고 성가신 Andoid SDK Platform Tools 를 제거합니다.  Java 코드 편집기에서. Andoid SDK Tools 를 통해 설치 될 수 있습니다  이클립스에서. http://download.eclipse.org/eclipse/updates/4.3-P-builds/를 D:\adt\sdk\tools 에 입력하십시오  필드에 계속 설치하십시오.

    Nodeclipse/Enide Gradle : 주로 Groovy 언어 키워드를 강조 표시하는 데 사용됩니다. Groovy는 Gradle 빌드 스크립트의 DSL로 사용됩니다. 이 플러그인은 D:\adt\sdk\platform-tools 를 통해 설치할 수 있습니다 . 그러나 ADT-22.6.2의 Eclipse는 %PATH% 와 함께 제공되지 않습니다. . 따라서 먼저 D:\adt\eclipse 를 설치해야합니다   D:\adt\workspace 를 통해  Eclipse의 도구. Android SDK Manager 에 http // : download.eclipse.org/mpc/kepler/를 입력하십시오  필드에 계속 설치하십시오. Android SDK Build tools Rev. 19.1 를 설치 한 후 , Android Support Library 를 검색 할 수 있습니다  Wyzwyz에서  설치하십시오.

    Genymotion 가상 장치 : 기본 red dots 를 대체합니다.  ADT와 함께 제공됩니다. AVD는 성가 시게 번거롭고 아무런 이유없이 계속 충돌합니다. Genymotion을 사용하면 Help -> Install New Software 를 사용하여 Android VD를 준비 할 수 있습니다  Oracle VirtualBox에 의해 실행되는 이미지. 단일 사용자 라이센스는 무료이며 http://www.genymotion.com에서 다운로드 할 수 있습니다. 로그인 만 필요하며 Eclipse에 통합 할 수도 있습니다. 자세한 내용은 다음을 참조하십시오 :

    https://cloud.genymotion.com/page/doc/#collapse8

    아래는 Android 4.3 기반 CyanogenMod 가상 장치의 스크린 샷입니다.

    x86 또는 x64 기반 개인용 컴퓨터에서 실행되는 본격적인 Android 기기로 간주 될 수 있습니다. Work with 와 같은 Google 서비스를 사용하려면  이 가상 장치에서 Eclipse Marketplace  사용하는 Android 버전의 이미지가 장치에 플래시되어야합니다. 적절한 Wyzwyz  장치의 이미지는 CyanogenMod 웹 사이트에서 다운로드 할 수 있습니다 :

    http://wiki.cyanogenmod.org/w/Google_Apps

    Gradle 설치는 Android SDK 자체에서 제공되기 때문에 선택 사항이지만 별도의 설치를 적극 권장합니다. 다음 단계에 따라 설치할 수 있습니다.

    Gradle 웹 사이트로 이동하십시오 : http://www.gradle.org/

    Eclipse Marketplace Client 클릭

    와 이츠 비츠  버전 1.10을 선택하고 gradle-1.10-all.zip 또는 gradle-1.10-bin.zip

    을 다운로드하십시오.

    예 : 와이즈 비즈

    Eclipse Marketplace Client 라는 새로운 환경 변수 정의  Gradle 설치 폴더의 경로 값과 함께 와이즈 비즈

    예를 들어 Gradle 바이너리 폴더를 추가하십시오. 와이즈 비즈 , 당신의 Install New Software 에  변수

    터미널 창을 열고 Work with 를 실행하십시오.  명령하고 실행되고 있는지 확인하십시오. 이 시점에 도달하면 Java 8 기능을 사용하여 첫 번째 Android 앱을 만들 준비가 된 것입니다.

    데모 앱

    이전 섹션에서 설명한 도구 사용법을 보여주는 간단한 앱이 만들어집니다. 아래 단계에 따라 Android 개발자 도구에서 람다 식 사용에 대한 통찰력을 얻을 수 있습니다.

    Eclipse Marketplace Client 를 선택하여 Eclipse IDE를 실행하고 새 Android 앱을 작성하십시오.

    아래 그림과 같이 작성하십시오 :

    간단히 클릭하세요  다음 양식에 버튼을 클릭하고 Nodeclipse/Enide Gradle 를 클릭하십시오  마지막에 버튼. ADT가 프로젝트로드를 완료 할 때까지 기다립니다

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Eclipse Marketplace Client 를 선택하십시오.  그리고 이름을 Android Virtual Device

    CyanogenMod 를 마우스 오른쪽 버튼으로 클릭  폴더를 삭제하십시오. Gradle은 곧 동일한 파일을 생성하고 프로젝트에 추가 할 것입니다. 기본 Ant 빌더로 작성된 gen` 폴더는 더 이상 필요하지 않으며 해당 폴더 아래의 아티팩트는 더 이상 사용되지 않습니다

    Google PlayStore 에서 다음 배치 파일 작성  폴더 :

    gradle_build.cmd

    gradle_post_build.cmd

    gradle_clean.cmd

    다음과 같은 배치 파일을 채 웁니다 :

    gradle_build.cmd :

    gradle_post_build.cmd :

    gradle_clean.cmd :

    gapps 선택 해제  메뉴 옵션

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고 gapps 를 선택하십시오.  ADT에서 제공 한 모든 기본 빌더를 선택 취소

    와이즈 비즈 클릭  같은 창에서 버튼을 클릭하고 Downloads 를 선택하십시오   Previous Releases 를 클릭하십시오

    새 빌더 구성 창이 나타납니다. 다음과 같이 탭을 채우십시오.

    D:\adt\gradle  새 빌더 구성 탭

    GRADLE_HOME  새 빌더 구성 탭

    D:\adt\gradle  새 빌더 구성 탭

    D:\adt\gradle\bin  새 빌더 구성 탭

    %PATH% 라는 두 번째 빌더 작성   gradle -v 를 사용하는  그것의 프로그램으로. 이 빌더의 다른 모든 설정은 이전에 작성된 빌더와 정확히 동일해야합니다. 이 빌더는 빌드 프로세스에서 작성된 아티팩트를 File -> New -> Other -> Android -> Android Application Project 에 복사해야합니다.  폴더.

    Next 라는 세 번째 빌더 작성   Finish 를 사용하는  그것의 프로그램으로. 오직 New -> Folder  최종 탭의 설정은 builders 로 설정해야합니다 . 이 빌더의 다른 모든 설정은 첫 번째 빌더와 정확히 동일해야합니다. 이 빌더는 이름에서 알 수 있듯이 빌드 프로세스에서 작성된 아티팩트를 정리합니다.

    Wyzwyz의 새로운 건축업자  프로젝트

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고 gen (Generated Java Files) 를 선택하십시오.

    와이즈 비즈 선택   s build path. The 를 클릭하십시오

    다음 창에서 프로젝트를 선택하고 builders 를 클릭하십시오

    프로젝트의 루트 폴더로 이동하여 Project -> Build Automatically 파일을 삭제하십시오.  그리고 Properties -> Builders . New 도 삭제  폴더

    Eclipse로 다시 전환하고 Program 를 선택하십시오.  메뉴 옵션. 다음과 같이 표시되는 양식을 작성하십시오.

    OK  창

    Main 클릭  청소 과정이 완료 될 때까지 기다립니다

    Refresh 를 호출 한 직후에 아래에 제공된 Java 코드 스 니펫을 추가하십시오.  당신의 Environment 에서 기능  수업 :

    와이즈 비즈의 시작을 바꾸다  Wyzwyz까지 파일  다음과 같이 섹션 :

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Build Options 를 선택하십시오.  옵션을 선택하고 모든 준수 수준을 Java 8로 설정합니다. 그러면 Eclipse가 람다 식과 같은 새로운 Java 8 구문을 인식하게됩니다.

    Gradle_Post_Build 클릭  알림 창에서

    프로젝트를 마우스 오른쪽 버튼으로 클릭하고 gradle_post_build.cmd 를 선택하십시오. . Eclipse가 프로젝트 빌드를 시작합니다.

    빌드 프로세스

    프로젝트를 마우스 오른쪽 단추로 클릭하고 bin 로 이동하십시오. . 빌드 경로에 다음 폴더를 추가하십시오 (아래 이미지 참조).

    Gradle_Cleaner

    gradle_clean.cmd

    이클립스는 이제 Run the builder 를 인식 할 수있을 것이다  그리고 During a Clean  파일이며 HelloLambda 를 표시하지 않습니다  프로젝트의 리소스 파일과 관련된 오류를 나타냅니다.

    새로운 Export 만들기  프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Android -> Generate Gradle Build Files 를 선택하여 Android 대상 플랫폼 . 예를 들어,이 데모 애플리케이션은 Genymotion VD에서 아래와 같이 보입니다 :

    HelloLambda 응용 프로그램 당신은 Next 에서 관찰 할 수 있습니다  간단한 람다식이있는 코드 스 니펫이 제대로 작동하는 창

    소스 : Android 개발자 도구에서 Java 8 Lambda 표현식 사용

  • 답변 # 4

    새 업데이트를 보려면이 링크를 따르십시오. Java 8 언어 기능 사용

    오래된 답변

    Android N 미리보기현재 Android 지원제한된기능Java 8의 경우 Java 8 언어 기능 참조

    와이즈 비즈

    지원되는 Java 8 언어 기능 및 API

    와이즈 비즈

    기본 및 정적 인터페이스 방법

    Lambda 표현식 (API 레벨 23 이하에서도 사용 가능)

    반복 가능한 주석

    방법 참조 (API 레벨 23 이하에서도 사용 가능)

    Android가 지원하는 추가 Java 8 기능이 있습니다. Java 8 언어 기능에서 자세한 내용을 볼 수 있습니다

    업데이트

    와이즈 비즈

    업데이트 2

    이제 Android Studio 3.0 안정 릴리스는 Java 8 라이브러리 및 Java 8 언어 기능 (Jack 컴파일러 제외)을 지원합니다.

  • 답변 # 5

    예, Android에서 Java 8 Now (24.1.17) 지원

    이제 가능합니다

    하지만 Java 1.8에서 장치 ROM을 실행하고 "jackOptions"를 활성화해야합니다. Jack은 Java 8을 실행하는 새로운 Android 컴파일러의 이름입니다

    https://developer.android.com/guide/platform/j8-jack.html

    이 줄을 build_gradle에 추가하십시오

    Finish
    
    
    <시간>

    Java 8은 Android Studio 2.0에서 실행중인 Java 엔진 인 것 같습니다. 그러나 확인한 후에도 여전히 Java 8의 구문을 허용하지 않으므로 Android 스튜디오에서 컴파일러를 선택할 수 없습니다. 그러나 안드로이드 클라이언트에서 기능적 프로그래밍 메커니즘이 필요한 경우 스칼라 플러그인을 사용할 수 있습니다.

    gradlew

  • 이전 php - phpword에서 S3의 템플릿을 여는 방법은 무엇입니까?
  • 다음 opengl - glvertexattribpointer 및 glvertexattribformat - 차이점은 무엇입니까?