Skip to content

adsamcik/ImageShare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ImageShare

Privacy-first Android image sharing with on-device format conversion, quality optimization, and metadata stripping. Now exposes a cross-app Transform API for other apps to leverage the same pipeline without users leaving them.

License: GPL v3 CI min sdk

Features

  • Privacy-first: nothing leaves the device. No telemetry, no analytics, no network calls.
  • Smart sharing: top-3 most-used targets + alphabetical fallback, learned from your behavior.
  • Format conversion: JPEG, PNG, WebP, HEIF, AVIF.
  • Quality presets: Email (200 KB target), Web (1 MB target), Original, custom.
  • Metadata control: strip all, preserve orientation-safe subset, or keep all.
  • Transform API: other apps can leverage ImageShare's pipeline without users leaving them. See docs/transform-api/.

Quick start (users)

ImageShare is pre-launch. For now, build and install a debug build from source on an Android device or emulator, then share images into ImageShare to convert, optimize, strip metadata, and forward them to your destination app.

Integration (developers)

// Gradle (when published)
implementation("com.imageshare:imageshare-api:<TBD>")

See the integration guide, migration guide, and threat model.

Two sample host apps are available in samples/:

  • samples/minimal-host — barebones URI demo
  • samples/picker-host — full user flow

Modules

Module Purpose
:app Main Android app
:core:io Storage + URI handling primitives
:core:processing Decode / resize / encode pipeline
:feature:preset Preset selection UI + smart-sharing chooser
:sdk:imageshare-api Public SDK wrapper for third-party hosts
:samples:minimal-host Minimal Transform API sample
:samples:picker-host Picker-driven Transform API sample

Building

./gradlew :app:assembleDebug :app:testDebugUnitTest
./gradlew :app:connectedDebugAndroidTest        # needs emulator
./gradlew :sdk:imageshare-api:assembleDebug :sdk:imageshare-api:testDebugUnitTest

The native JPEG and AVIF prebuilts are skipped by default; the Kotlin-only fallback handles all current functionality.

Project status

This repository is currently pre-launch scaffolding plus active Transform API work. APIs and UI may change before the first stable release.

Android baseline

  • App minSdk: 29
  • SDK minSdk: 24
  • Sample-host minSdk: 26
  • targetSdk: 36
  • compileSdk: 36
  • Java toolchain: JDK 17

Contributing

See CONTRIBUTING.md. All contributors must abide by our Code of Conduct.

Security

For vulnerability reports see SECURITY.md. Do not open public issues for security issues.

License

ImageShare is licensed under the GNU General Public License v3.0.

Note: The SDK module (:sdk:imageshare-api) is also GPL v3; apps that embed it via Gradle become subject to GPL v3. Apps that interact with the Transform API directly via ContentProvider/Intent (no SDK linkage) are not affected by the SDK's license, since IPC is not "linking" under GPL.

Copyright © 2024–2026 adsamcik.

About

Privacy-first Android image sharing with on-device format conversion (JPEG/PNG/WebP/HEIF/AVIF), quality optimization, metadata stripping, and a cross-app Transform API. No telemetry, no network.

Topics

Resources

License

GPL-3.0, Apache-2.0 licenses found

Licenses found

GPL-3.0
LICENSE
Apache-2.0
THIRD_PARTY_LICENSES

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages