Sweet Juice plugins are first-party bridges between Go and native Android system APIs.

Plugin guides

More plugins are documented as they are stabilized and stress-tested.

Using a plugin from Go

Import the plugin package and call its methods. Each plugin bridges to native code through core.CallNativePlatform.

import "github.com/sweet-juice/sweetjuice/plugins/permission"

status, err := permission.RequestMultiple([]string{
    "android.permission.READ_CALL_LOG",
    "android.permission.READ_SMS",
})

AndroidManifest requirements

  • CallsREAD_CALL_LOG
  • SMSREAD_SMS
  • NotificationsPOST_NOTIFICATIONS
  • CameraCAMERA
  • BiometricUSE_BIOMETRIC, USE_FINGERPRINT, USE_FACE_AUTHENTICATION
  • All files accessMANAGE_EXTERNAL_STORAGE
  • Foreground serviceFOREGROUND_SERVICE, FOREGROUND_SERVICE_SPECIAL_USE

See Android Manifest Guide for details.