여기 Android API 레벨 및 버전에 대해 많은 질문이 있지만이 질문은 서로 다르므로 중복으로 표시하지 마십시오.OS 버전, API 레벨 및 Java 버전 간의 관계
Java 버전 1.6, 1.7, 1.8 ...이 둘과 어떻게 관련되어 있는지 궁금합니다. 내 혼란의 원인은 아래에 표시된 Pattern.UNICODE_CHARACTER_CLASS
플래그와 함께 Pattern.compile
메소드를 사용하려고하는 것입니다.
Pattern pattern = Pattern.compile("\\b" + keywordToCheck + "\\b", Pattern.UNICODE_CHARACTER_CLASS);
는 그것이라고 말한다 Pattern.UNICODE_CHARACTER_CLASS
에 the docs 가입일 : 나는 가정 1.7는 Java 버전 1.7 이상에서 사용할 수 있습니다 의미합니다. 나는 안드로이드 프로젝트에 코드 줄을 사용하려고하지만 난 내 장치에서 실행할 때마다 내가 얻을 : 아래
java.lang.IllegalArgumentException: Unsupported flags: 256
내 build.gradle 파일의 관련 부분이다
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
나의 이해에서 이것은 내 앱이 19 레벨 이상의 API 레벨을 사용할 것이라는 것을 의미합니다. 즉, Android 4.4 (KitKat) 이상에서 실행될 수 있습니다. 앱을 실행중인 기기에는 Android 6.0이 있습니다. 자바 버전은 어떻게 이것에 들어 맞습니까? 내가 사용하고 밝히는 안드로이드 스튜디오 3.0을 사용하고 있습니다 :이 오류를 받고 있어요 왜
Android Studio 3.0
Build #AI-171.4408382, built on October 20, 2017
JRE: 1.8.0_152-release-915-b08 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6
누군가가 나에게 설명 할 수, 또한 안드로이드 API 레벨, 버전, Java 버전 사이의 관계? 감사합니다.
정말 고마워요! 특정 플래그가 API 레벨 24까지 지원되지 않는 것 같습니다. "Oracle Java"와 "Android Java"의 차이점을 설명해 주시겠습니까? Google은이 Pattern 클래스를 Oracle과 별도로 구현합니까? 아니면 JRE가 둘 사이에 다른가요? 둘의 차이점은 무엇입니까? – strikerdude10
Java는 언어입니다. 오라클은이를 작성한 회사 (Sun)를 인수하고 참조 구현을했습니다. 안드로이드는 별도의 Java 구현을 사용합니다. 구문은 동일하지만 모든 라이브러리를 지원하지는 않습니다. 다른 회사와 마찬가지로 자체 버전의 C++ 또는 Javascript가 있습니다. Google의 구현은 100 % 자체적입니다. 사실 Google은 다른 바이트 코드 언어 인 dalvik을 사용합니다. –
아, 알았어요. 언어 구문은 동일합니다 (Java로 만드는 것). 그 이후의 모든 것 : 컴파일러, JVM, 라이브러리는 Google/Oracle에만 해당합니까? – strikerdude10