All Projects → usefulness → Easylauncher Gradle Plugin

usefulness / Easylauncher Gradle Plugin

Licence: mit
Add a different ribbon to each of your Android app variants using this gradle plugin. Of course, configure it as you will

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Easylauncher Gradle Plugin

ScratchPaper
A Gradle Plugin for adding variant/version/git-commit-id/etc information to APK launcher icon.
Stars: ✭ 58 (-52.85%)
Mutual labels:  launcher, icon
Iconshowcase Dashboard
A full-of-features, easy-to-customize, free and open source, Material Design dashboard for icon packs.
Stars: ✭ 197 (+60.16%)
Mutual labels:  launcher, icon
Badgeforappicon
The unread badges of the android launcher icon.
Stars: ✭ 83 (-32.52%)
Mutual labels:  launcher, icon
CtrlUI
CtrlUI (Controller User Interface) is a Windows application, game and emulator launcher for your game controller, DirectXInput converts your game controller to a Xbox (XInput) controller, Fps Overlayer is a tool that shows the frames per second and the cpu, gpu and memory information.
Stars: ✭ 39 (-68.29%)
Mutual labels:  launcher, overlay
Iconshowcase
Full-of-features, easy-to-customize, free and open source, Material Design dashboard for icon packs.
Stars: ✭ 91 (-26.02%)
Mutual labels:  launcher, icon
Zhpopupcontroller
Help you pop up custom views easily. and support pop-up animation, layout position, mask effect and gesture interaction etc.
Stars: ✭ 1,481 (+1104.07%)
Mutual labels:  overlay
Tabler Icons
A set of over 1400 free MIT-licensed high-quality SVG icons for you to use in your web projects.
Stars: ✭ 10,858 (+8727.64%)
Mutual labels:  icon
Scala Trace Debug
Macro based print debugging. Locates log statements in your IDE.
Stars: ✭ 110 (-10.57%)
Mutual labels:  debug
Anicon
Animated icons for R markdown and Shiny apps
Stars: ✭ 109 (-11.38%)
Mutual labels:  icon
Gw2pao
Guild Wars 2 Personal Assistant Overlay
Stars: ✭ 122 (-0.81%)
Mutual labels:  overlay
Utinyripper
GUI and API library to work with Engine assets, serialized and bundle files
Stars: ✭ 1,871 (+1421.14%)
Mutual labels:  debug
Glxosd
GLXOSD is an extensible on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11 which aims to provide similar functionality to MSI Afterburner/RivaTuner OSD. It can show FPS, frame timings, temperatures and more in OpenGL games and applications. It can also be used to benchmark games, much like voglperf.
Stars: ✭ 115 (-6.5%)
Mutual labels:  overlay
Truckersmp Cli
A simple launcher for truckersMP to be used with wine
Stars: ✭ 111 (-9.76%)
Mutual labels:  launcher
Debug Pack
A Symfony Pack for Symfony debug
Stars: ✭ 1,522 (+1137.4%)
Mutual labels:  debug
Pwa Asset Generator
Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest specs and Apple Human Interface guidelines.
Stars: ✭ 1,787 (+1352.85%)
Mutual labels:  icon
Launcher3 Mx
根据Android Pie的Launcher3源码修改为单层桌面。
Stars: ✭ 121 (-1.63%)
Mutual labels:  launcher
Vue Clicky
Handy debugging function for Vue
Stars: ✭ 109 (-11.38%)
Mutual labels:  debug
Aura.ui
A Library with a lot of Controls for AvaloniaUI
Stars: ✭ 114 (-7.32%)
Mutual labels:  ribbon
Cemui
A small launcher for the Cemu WiiU emulator made with Electron. Currently on hiatus, development is currently being focused on Pretendo https://github.com/PretendoNetwork/Pretendo
Stars: ✭ 118 (-4.07%)
Mutual labels:  launcher
Everbug
Django debug tool for browser
Stars: ✭ 114 (-7.32%)
Mutual labels:  debug

Easylauncher gradle plugin for Android

codecov  build  ktlint

version

Modify the launcher icon of each of your app-variants using simple Gradle rules. Add ribbons of any color, overlay your own images, customize it according to your needs!

Circle RoundedRectangle Teardrop

This library heavily relies on the original Akaita's easylauncher plugin, but introduces supports for modern build tools and Vector icons

Usage

Basic usage

// in app/build.gradle
plugins {
    id "com.starter.easylauncher" version "${{version}}"
}

see Gradle Plugin Portal for the details

What should I do if I get `Could not resolve all artifacts` error?

In some configurations a dependency resolution error might be thrown with a message:

Could not find com.android.tools.build:gradle:x.x.x`.

As a solution apply the plugin to the root project using:

// in root project's build.gradle 
buildscript {
    repositories.google()
}
plugins {
    id "com.starter.easylauncher" version "${{version}}" apply false
}

then apply the plugin in your application module:

// in app/build.gradle 
plugins {
    id "com.starter.easylauncher"
}

See related issue for more information.

Advanced usage

By default, the plugin applies green ribbon for all debuggable build variants. You can customize the filters applied to each type, flavor and variant of your app.

Imagine these are the type and flavors of your app:

// in app/build.gradle
android {
    buildTypes {
        debug {
            //Debuggable, will get a default ribbon in the launcher icon
        }
        beta {
            //Debuggable, will get a default ribbon in the launcher icon
            debuggable true
        }
        canary {
            //Non-debuggable, will not get any default ribbon
            debuggable false
        }
        release {
            //Non-debuggable, will not get any default ribbon
        }
    }
    productFlavors {
        local {}
        qa {}
        staging {}
        production {}
    }
}

You could customize the plugin's behaviour like this:

easylauncher {
    defaultFlavorNaming = true // Use flavor name for default ribbon, instead of the type name
    
    productFlavors {
        local {}
        qa {
            // Add one more filter to all `qa` variants
            filters redRibbonFilter()
        }
        staging {}
        production {}
    }
    
    buildTypes {
        beta {
            // Add two more filters to all `beta` variants
            filters = [
                    customRibbon(ribbonColor: "#0000FF"),
                    overlayFilter(new File("example-custom/launcherOverlay/beta.png"))
            ]
        }
        canary {
            // Remove ALL filters to `canary` variants
            enable false
        }
        release {}
    }
    
    variants {
        productionDebug {
            // OVERRIDE all previous filters defined for `productionDebug` variant
            filters = orangeRibbonFilter("custom")
        }
    }
}

Providing Icon Names

By default, the plugin automatically discovers launcher icon and applies provided filters.
Custom icon names, useful i.e. when defining multiple activity aliases, can be provided using iconNames property as follows:

easylauncher {
    iconNames = ["@mipmap/custom_launcher_icon"] // optional, disables automatic launcher icon discovery and will use provided icons only

    buildTypes {
        beta {
            // icon names can also be provided per each configuration (buildType, productFlavor or variant)
            iconNames = ["@mipmap/beta_launcher"]  
        }
    }
}

Available filters

Overlay filter

Command Result
overlayFilter(new File("example-custom/launcherOverlay/beta.png"))

Ribbon filters

Filter Command Result
Gray ribbon grayRibbonFilter()
Green ribbon greenRibbonFilter()
Yellow ribbon yellowRibbonFilter()
Orange ribbon orangeRibbonFilter()
Red ribbon redRibbonFilter()
Blue ribbon blueRibbonFilter()

Advanced Ribbon filter

Description Command Result
Custom background color customRibbon(ribbonColor: "#6600CC")
Custom label customRibbon(label: "label", ribbonColor: "#DCDCDC")
Custom text color customRibbon(label: "label", ribbonColor: "#DCDCDC", labelColor: "#000000")
Custom gravity - Top customRibbon(label: "custom", position: "top")
Custom gravity - Bottom customRibbon(position: "bottom")
Custom gravity - TopLeft customRibbon(position: "topLeft")
Custom gravity - TopRight customRibbon(position: "topRight")
Custom text size (relative to the icon size) customRibbon(position: "bottom", textSizeRatio: 0.2)
Custom font (locally installed) customRibbon(position: "top", font: "ComicSansMs")
Custom font (using font pack) customRibbon(position: "top", font: file("fonts/CustomFont.ttf"))

Chrome-like filters

Filter Command Result
Default chromeLike()
Custom appearance chromeLike(label: "Custom", ribbonColor: "#FF00FF", labelColor: "#FFFFFF")
Custom font (locally installed) chromeLike(label: "Custom", font: "ComicSansMS-Bold")
Custom gravity - Top (with additional padding) chromeLike(label: "Top", gravity: "Top", labelPadding: 10)
Custom overlay/label alignment chromeLike(label: "Tall", overlayHeight: 0.6, textSizeRatio: 0.3)

Available options

  • defaultFlavorNaming: use flavor name in default ribbons, instead of using buildType
  • enable: enable/disable all filters for a flavor/type/variant
  • productFlavors: define filters for flavors (will be added to filters defined for types)
  • buildTypes: define filters for types (will be added to filter defined for flavors)
  • variants: define filters for variants (will override any other filters)
  • iconNames: provides a list of icons which will have the filters applied

Requirements

Minimal requirements for the plugin are:

  • Gradle: 6.1.1
  • Android Gradle Plugin: 4.0.0
  • minSdkVersion: 21 (theoretically there should be no lower boundary - it just hasn't been tested)

Project Structure

easylauncher/   - source code of Gradle plugin
sample/         - root directory of supported Android applications which serve as test projects

Credits

Credits to Akaita's easylauncher plugin which this project heavily relies on

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].