Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ for the Linux x64 and Darwin x64 platforms.

## Unreleased Changes

### Fixed
- Include ProGuard/R8 rules in the Android AAR to preserve classes and constructors used by JNI. (#215)

## [4.5.1] - 2026-10-15
### Changed
- Releases are signed with a new key, and the release process was updated. (#216, #217)
Expand Down
6 changes: 5 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ task androidJar(type: Jar) {
include 'android-arm64/**'
include 'META-INF/**'
}

duplicatesStrategy = DuplicatesStrategy.EXCLUDE

manifest {
Expand Down Expand Up @@ -200,6 +200,10 @@ task androidAar(type: Zip) {
archiveBaseName = 'h3-android'
archiveVersion = project.version
archiveExtension = 'aar'

from('src/main/proguard/h3-android.pro') {
rename { 'proguard.txt' }
}

// Map android-arm to armeabi-v7a (32-bit ARM)
from('src/main/resources/android-arm') {
Expand Down
7 changes: 7 additions & 0 deletions src/main/proguard/h3-android.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# These classes and constructors are looked up by name from the JNI layer.
-keep class com.uber.h3core.util.LatLng {
public <init>(double, double);
}
-keep class com.uber.h3core.exceptions.H3Exception {
public <init>(int);
}