Emoji2
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2023년 1월 11일 | 1.2.0 | - | - | 1.3.0-alpha01 |
종속 항목 선언
Emoji2의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def emoji2_version = "1.2.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.2.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.3
버전 1.3.0-alpha01
2023년 1월 11일
androidx.emoji2:emoji2-*:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
낮은 수준의 상호작용을 위한 새로운 API
- 시스템 제외 쿼리
- 맞춤 그리기 코드의 스팬 대체
EmojiSopans
뒤에 백그라운드 스팬이 올바르게 적용되지 않는 버그를 수정했습니다.- 이 버전에서는 Compose에서
EmojiCompat
를 지원하는 데 필요한 API를 추가합니다. 곧 출시될 버전에서 그림 이모티콘 compat에 대한 Compose 지원이 제공될 예정입니다.
API 변경사항
- 시스템 제외를 쿼리하는 기능을
TypefaceEmojiRasterizer
에 추가했습니다. (I5653e) - 기본
EmojiSpan
동작을 맞춤 그리기 및 크기 조절 코드로 대체하는 새로운 APIEmojiCompat.SpanFactory
를 추가했습니다. (Ib69d9) - Compose에
EmojiCompat
를 추가했습니다. (I96f37, b/139326806)
버그 수정
- 이제 Emoji2가
BackgroundSpan
에서 배경을 올바르게 그립니다. (Ide6a8, b/230525134) - 1.5.0-beta01용 AppCompat API를 완료합니다. (I2a43d, b/236866227)
버전 1.2
버전 1.2.0
2022년 8월 10일
androidx.emoji2:emoji2-*:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 중요 변경사항
버그 수정 출시입니다. 1.1.0 이후 새로운 기능이나 API가 추가되지 않았습니다.
하지만 PrecomputedText
또는 TextView.setText(char[])
를 사용하는 앱은 이 버전으로 업데이트하는 것을 우선해야 합니다.
다음 버그가 수정되었습니다.
Emoji2
는 이전에 미리 계산된 텍스트 레이아웃을 삭제하여PrecomputedText
에 그림 이모티콘을 추가합니다. (I47d06, b/211231958)- Android P에서 emoji2를 사용하도록 구성된
EditText
로 편집기를 백포팅할 때 발생하는 비정상 종료 문제를 해결했습니다. (Ifd709, b/216891011) - emoji2에서 글꼴을 로드하고
TextView.setText(char[])
가 사용될 때 발생하는 비정상 종료 문제를 해결했습니다. (Id511e, b/206859724)
버전 1.2.0-rc01
2022년 7월 27일
androidx.emoji2:emoji2-*:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
- 마지막 베타 버전 이후 변경사항이 없습니다.
버전 1.2.0-beta01
2022년 7월 13일
androidx.emoji2:emoji2-*:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 이전 버전에서 변경된 사항은 없습니다(이 버전은 AppCompat 버전을 지원함).
버전 1.2.0-alpha04
2022년 4월 20일
androidx.emoji2:emoji2-*:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- 이번 출시에는 변경사항이 없습니다.
버전 1.2.0-alpha03
2022년 4월 6일
androidx.emoji2:emoji2-*:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이전 버전에서 변경된 사항은 없습니다(이 버전은 appcompat 버전을 지원함).
버전 1.2.0-alpha02
2022년 3월 23일
androidx.emoji2:emoji2-*:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- Emoji2는 이전에 미리 계산된 텍스트 레이아웃을 삭제하여
PrecomputedText
에 그림 이모티콘을 추가합니다. (I47d06, b/211231958) - Android P에서 emoji2를 사용하도록 구성된 EditText로 편집기를 백포팅할 때 발생하는 비정상 종료 문제를 해결했습니다. (Ifd709, b/216891011)
- emoji2에서 글꼴을 로드하고
TextView.setText(char[])
가 사용될 때 발생하는 비정상 종료 문제를 해결했습니다. (Id511e, b/206859724)
버전 1.2.0-alpha01
2022년 2월 23일
androidx.emoji2:emoji2-*:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
1.1.0 이후 변경사항이 없습니다.
1.1
버전 1.1.0
2022년 2월 23일
androidx.emoji2:emoji2-*:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- emoji2 번들에 그림 이모티콘 14 글꼴이 포함되었습니다.
- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정했습니다.
버전 1.1.0-rc01
2022년 2월 9일
androidx.emoji2:emoji2-*:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
새로운 기능
베타에서 변경된 사항이 없습니다.
emoji2 1.0.0에 비해 다음과 같은 새로운 기능이 추가되었습니다.
emoji2-bundled
에 그림 이모티콘 14 글꼴이 포함됩니다.- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정합니다.
버전 1.1.0-beta01
2022년 1월 26일
androidx.emoji2:emoji2-*:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
- androidx-emoji2 beta01 출시입니다. alpha01에서 변경된 내용이 없습니다. (Ic61d9)
버전 1.1.0-alpha01
2021년 12월 15일
androidx.emoji2:emoji2-*:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
emoji2-bundled
에 그림 이모티콘 14 글꼴이 포함됩니다.- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정합니다.
API 변경사항
- 키보드가 emojicompat에서 그림 이모티콘 일치 동작을 더 정확하게 조회할 수 있도록 신규 API
getEmojiMatch
를 추가합니다. - 플랫폼 그림 이모티콘 글꼴보다 더 오래된 글꼴을 대상으로 테스트할 때 불리언 반환 값이 정확하지 않으므로
hasEmojiGlyph
를 지원 중단하고getEmojiMatch
로 대체합니다. (Ie693d)
버그 수정
- Emoji2는
NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
에서 언어를 구성할 수 있습니다. - Appcompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
1.0
버전 1.0.1
2021년 12월 15일
androidx.emoji2:emoji2-*:1.0.1
이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.
버그 수정
Emoji2
이NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
에서 언어를 구성할 수 있습니다.- Appcompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
버전 1.0.0
2021년 11월 17일
androidx.emoji2:emoji2-*:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
추가 기능이 포함된 androidx.emoji2가 androidx.emoji를 대체합니다.
- APK 크기 축소와 androidx.emoji 비교
- 자동 구성
- appcompat 1.4에 종속 항목으로 추가됨
androidx.emoji2에 관한 자세한 내용은 최신 그림 이모티콘 지원 및 Android Dev Summit 강연 앱에 모든 그림 이모티콘 표시(Android Dev)를 참고하세요.
버전 1.0.0-rc01
2021년 10월 27일
androidx.emoji2:emoji2-*:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
- beta02 이후 변경사항 없음
Emoji2 버전 1.0.0-beta01
2021년 9월 15일
androidx.emoji2:emoji2-*:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
setLoadingExecutor
를FontRequestEmojiCompatConfig
에 추가했습니다.setHandler
의 이전 API를 대체합니다. 이 API를 사용하면 앱에서FontRequestEmojiCompatConfig
를 구성하여 모든 백그라운드 실행기를 사용할 수 있습니다.이 변경사항은
androidx.emoji:emoji
의 브레이킹 체인지이므로 이전을 돕기 위해setHandler
는 지원 중단된 무작동 API로 유지됩니다. (I6cd48)EmojiCompat이 Android 11에서
EditorInfo.extras
를 올바르게 설정합니다.- EditText를 서브클래스로 분류하지 않는 IME를 사용하는 맞춤 위젯이
EmojiCompat.updateEditorInfo
를 호출하여 IME에 EmojiCompat 처리를 지원한다고 알릴 수 있습니다. (I1ea9b)
- EditText를 서브클래스로 분류하지 않는 IME를 사용하는 맞춤 위젯이
버그 수정
- API 19 및 28에서 그림 이모티콘 글꼴 제공업체를 올바르게 조회하도록
DefaultEmojiCompatConfig
를 수정했습니다. 이를 통해 emoji2 1.0.0-alpha01에서 발생한 버그를 수정합니다. (Ib33d8, b/197906329)
버전 1.0.0-alpha03
2021년 6월 30일
androidx.emoji2:emoji2-*:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
이 버전은 버그 수정 및 안정화 버전입니다.
- 이제 EmojiEditTextHelper가
null
을 KeyListener로 전달하도록 허용합니다. 이를 통해 EditText 구현을 지원하는 그림 이모티콘에 null이 적용되도록 허용하는 플랫폼 동작이 가능합니다. - EmojiCompatInitializer를 사용할 때 초기 시작 지연이 첫 번째 활동이 재개된 후 트리거되도록 개선되었습니다. 이를 통해 앱 시작이 경합 없이 발생할 수 있고 UI가 표시되지 않는 앱 시작용 글꼴 로드를 방지합니다. 짧은 지연 후 EmojiCompat은 그림 이모티콘 글꼴을 로드하는 스레드를 만듭니다.
androidx.emoji2:emoji2
에서androidx.lifecycle:lifecycle-process
의 새 종속 항목을 추가하여 지연을 구현합니다. 이미 수명 주기가 포함된 앱(예: appcompat이 있는 앱)의 경우 APK 크기에 거의 영향을 미치지 않습니다.
API 변경사항
- AppCompatEditText에서 null KeyListener를 허용합니다. 이렇게 하면 1.4.0-alpha01에서 AppCompatEditText에 추가된 null이 아닌 주석을 취소하게 되고 null을 전달하면 이전 동작이 복원됩니다. (I21482, b/189559345)
버그 수정
- 첫 번째
Activity.onResume
이후 500ms까지 글꼴 로드가 지연되도록 EmojiCompatInitializer를 변경했습니다. 이를 통해 활동이 경합 없이Application.onCreate
와Activity.onCreate
를 실행할 수 있고 앱 시작 직후 그림 이모티콘 글꼴이 로드되도록 합니다. (I4bff7)
버전 1.0.0-alpha02
2021년 6월 2일
androidx.emoji2:emoji2:1.0.0-alpha02
, androidx.emoji2:emoji2-views:1.0.0-alpha02
및 androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
emoji2-views-helper
의 패키지 이름이androidx.emoji2.viewsintegration
으로 바뀌었습니다. 이는 AppCompat1.4.0-alpha01
의 브레이킹 체인지이며 앱은 새로운 emoji2 버전을 사용하도록 AppCompat 종속 항목이 업데이트되었는지 확인해야 합니다. (Ie8397)
버전 1.0.0-alpha01
2021년 5월 18일
androidx.emoji2:emoji2:1.0.0-alpha01
, androidx.emoji2:emoji2-views:1.0.0-alpha01
및 androidx.emoji2:emoji2-views-helper:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
이번 최초 출시의 기능
모든 앱에서 API19의 최신 그림 이모티콘을 지원하도록 emojicompat를 통합하는 것이 좋습니다. 앱의 모든 사용자 제작 콘텐츠에는 🎉이 포함되어 있습니다.
이제 alpha01에서는 EmojiCompat가 androidx.emoji
아티팩트에서 새로운 androidx.emoji2
로 이동했습니다. 새 아티팩트가 이전 버전을 대체합니다.
emoji2
는 AppCompat 1.4.0-alpha01
부터 AppCompat에 종속 항목으로 추가되며 AppCompat 뷰에 기본적으로 사용 설정됩니다.
emoji2
아티팩트에는 androidx.startup
라이브러리를 사용하는 새로운 자동 구성이 도입되었습니다. 이제 🐻❄️을 표시하기 위해 👨🏽💻 코드를 작성하지 않아도 됩니다.
emoji 대비 emoji2의 변경사항
androidx.startup
을 사용하는 새로운 자동 구성EmojiCompatInitializer
를 추가했습니다.- 서비스 위치를 사용하여
DefaultEmojiCompatConfiguration
에서 다운로드 가능한 글꼴 제공자를 찾는 새로운 기본 구성을 추가했습니다. - 클래스가
androidx.emoji
패키지에서androidx.emoji2
로 이동했습니다. EmojiTextView
와 관련 뷰를 별도의 아티팩트emoji2-views
로 분할했습니다. 이는 앱에서 appcompat를 사용하지 않는 경우에만 사용해야 합니다.- emojicompat를 맞춤 뷰로 통합하기 위한 도우미를 별도의 아티팩트
emoji2-views-helper
로 추출했습니다. - null 허용 여부 주석이 추가되었습니다.
EmojiCompat
가 초기화되지 않은 경우에도 이제emoji2-views-helper
의 도우미를 사용할 수 있습니다(이전에는 예외가 발생함).
어떤 종속 항목을 추가해야 하나요?
- AppCompat를 사용하는 앱은 appcompat 버전 AppCompat
1.4.0-alpha01
이상으로 업그레이드해야 합니다. - AppCompat를 사용하지 않고 플랫폼에서
TextView
/EditText
를 사용하는 앱은EmojiTextView
및emoji2-views
의 관련 클래스를 사용해야 합니다.
맞춤 뷰에서 지원하는 방법
- AppCompat를 사용하는 앱은 플랫폼
TextView
등이 아닌AppCompatTextView
,AppCompatButton
등을 확장해야 합니다. - AppCompat를 사용하지 않는 앱은
androidx.emoji2:emoji2-views-helper
종속 항목을 추가하고 도우미를 사용하여 맞춤TextView
또는EditText
서브클래스와 통합해야 합니다.
자동 초기화 구성
앱에서는 다음을 매니페스트에 추가하여 자동 초기화를 중지할 수 있습니다.
<provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" android:exported="false" tools:node="merge"> <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" tools:node="remove" /> </provider>
그러면 자동 구성이 중지되기 때문에 맞춤 구성을
EmojiCompat.init
에 전달할 수 있습니다. 시스템의 기본 구성은EmojiCompat.init
로 전달하기 전에DefaultEmojiCompatConfig.create(context)
에서 가져와 추가로 구성할 수 있습니다.