Create GIFs from Android devices (pronounced "gif cap")

Overview

gifcap

A shell script to record GIFs from your Android devices

A picture is worth 1,000 words - and, when prototyping animations, recording visual glitches, etc, a video is worth far more. This script makes it easy to capture and share subtle app behavior by producing ready-to-paste-in-Slack GIFs with a single command.

An animated GIF showing an Android app opening
Example output

Usage

gifcap your_file_name.gif
<CTRL+C to stop recording>

Note: you'll need an actual Android device plugged in - emulators don't generally have screenrecord built in.

Install

macOS

brew install gifcap

Note that we assume you have adb on your path. If you don't have an Android SDK, and want Homebrew to set it up for you:

brew install gifcap --with-android-sdk

Others

Ensure adb, ffmpeg, and ffprobe are on your $PATH. Also make sure that your console window is capable of executing bash.

Copy gifcap and place it somewhere on your $PATH.


Copyright © Microsoft Corporation

You might also like...
Automated-build-android-app-with-github-action - CI/CD Automated Build Android App Bundle / APK / Signed With Github Action
Automated-build-android-app-with-github-action - CI/CD Automated Build Android App Bundle / APK / Signed With Github Action

Automated Build Android With Using Github Action Project Github Action Script Us

proguard resource for Android by wechat team

AndResGuard Read this in other languages: English, 简体中文. AndResGuard is a tooling for reducing your apk size, it works like the ProGuard for Java sour

A super fast build tool for Android, an alternative to Instant Run
A super fast build tool for Android, an alternative to Instant Run

Freeline Freeline is a super fast build tool for Android and an alternative to Instant Run. Caching reusable class files and resource indices, it enab

Command-line tool to count per-package methods in Android .dex files

dex-method-counts Simple tool to output per-package method counts in an Android DEX executable grouped by package, to aid in getting under the 65,536

View Inspection Toolbar for Android Development
View Inspection Toolbar for Android Development

View Inspector Plugin View inspection toolbar for android development. Features Boundary show outlines show margins show paddings Layer Scalpel featur

Make Android screenshots of scrollable screen content
Make Android screenshots of scrollable screen content

scrollscreenshot Make Android screenshots of scrollable screen content - brought to you by PGS Software SA This tool makes a number of screenshots, sc

🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.
🍼Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

🇨🇳 中文 / 🇯🇵 日本語 / 🇬🇧 English 🍼 Debug Bottle An Android debug / develop tools written using Kotlin language. All the features in Debug bottle are

[] Dissect layout traversals on Android
[] Dissect layout traversals on Android

Probe Dissect layout traversals on Android. Features Intercept View methods. onMeasure(int, int) onLayout(boolean, int, int, int, int) draw(Canvas) an

Android Library Finder
Android Library Finder

alfi Android Library Finder Search through thousands of android libraries that can help you scale your projects elegantly Usage Search for something a

Comments
  • Failure in better_mktemp() does not abort script

    Failure in better_mktemp() does not abort script

    My machine is Mac OS 10.12.2 with Homebrew installed, in particular, the coreutils package, which provides the GNU mktemp. When I execute gifcap, the mktemp call fails, but I get the following:

    $ gifcap
    mktemp: too few X's in template ‘screencap’
    mv: missing destination file operand after '.mp4'
    Try 'mv --help' for more information.
    mktemp: too few X's in template ‘palette’
    mv: missing destination file operand after '.png'
    Try 'mv --help' for more information.
    basename: missing operand
    Try 'basename --help' for more information.
    Recording, end with CTRL+C
    Unable to open '/sdcard/': Is a directory
    [  0%] /sdcard/Download/f3de0bee-7693-4018-ac0e-66b2adf52e2e.apk: 36%^C
    

    This ends up executing:

    adb pull /sdcard
    

    which starts to pull everything off your device!

    opened by efung 5
  • Homebrew Installing Issue

    Homebrew Installing Issue

    I recently tried to install Wine with Homebrew but at the end of it it gave me this error:

    ==> ./configure --prefix=/usr/local/Cellar/sane-backends/1.0.25_1 --localstatedi ==> make Last 15 lines from /Users/SelzAt/Library/Logs/Homebrew/sane-backends/02.make: tail: /Users/SelzAt/Library/Logs/Homebrew/sane-backends/02.make: No such file or directory Error: No such file or directory - /Users/SelzAt/Library/Logs/Homebrew/sane-backends/config.log

    Can someone tell me what the problem is or how I can solve it?

    opened by Stardustvalley 1
  • Add XXX to template for GNU mktemp compatibility

    Add XXX to template for GNU mktemp compatibility

    On my Mac with Homebrew coreutils installed, the script fails when calling mktemp because the GNU version requires the XXX characters in its template. From its manpage:

    Create a temporary file or directory, safely, and print its name. TEMPLATE must contain at least 3 consecutive 'X's in last component.

    However, the OS X version of mktemp seems to treat the -t argument as a prefix. See https://unix.stackexchange.com/questions/30091/fix-or-alternative-for-mktemp-in-os-x for more information.

    In any case, I think appending XXX to the end of the argument, allows compatibility with both GNU and OS X versions of mktemp

    opened by efung 1
  • homebrew warnings when using the `brew install` command from the script

    homebrew warnings when using the `brew install` command from the script

    When using this line to install ffmpeg I get the following two warnings:

    Warning: ffmpeg: --with-ffplay was deprecated; using --with-sdl2 instead!
    Warning: ffmpeg: this formula has no --with-libquvi option so it will be ignored!
    

    And an additional question, do we really need all these codecs? I don't see them being used explicitly and am especially wondering about x265 and the audio codecs recommended.

    Especially since neither the README nor the homebrew formula mention that you need to install it in that way.

    PS: Thanks for the script, really makes it a lot easier to share via Slack etc!

    opened by aried3r 3
Owner
Outlook
Outlook
Outlook
This application will provide information about almost all currently plugged-in USB devices.

USB Device Info Android 3.1 introduced USB host mode which allows the user to plug USB devices to your Android tablet in the same way as a Desktop PC

Alexandros Schillings 153 Nov 18, 2022
Connect adb from devices to androidstudio by wifi without usb anymore

WIFI ADB There are two projects in the repository. The first one is an android project,and the second is an intellij plugin project. You can see more

Huazhou 273 Jan 6, 2023
Remote script to create a maven compatible release of an android library (aar)

release-android-library ?? Deprecated ?? This script is deprecated in favour of: novoda/bintray-release Remote script to create a maven compatible rel

Paul Blundell 144 Dec 13, 2022
Use a jar executable to create a Drawable class to display a SVG on Android.

SVG2Drawable Use a jar executable to create a Drawable class to display a SVG on Android. This is a standalone library, not a Runtime Android library.

Stan Kocken 202 Nov 28, 2022
Tool for create complex morphing animations using VectorDrawables (allows morphing between any pair of SVG images)

VectAlign VectAlign (a.k.a. VectorDrawableAlign) is a developer's tool which automagically aligns two VectorDrawable "pathData" strings (or SVG images

Stefano Bonetta 2k Dec 29, 2022
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.

Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i

simpligility 1.4k Dec 27, 2022
A simple utility to remove unused resources in your Android app to lower the size of the APK. It's based on the Android lint tool output.

android-resource-remover android-resource-remover is utility that removes unused resources reported by Android Lint from your project. The goal is to

Keepsafe 1.3k Dec 16, 2022
This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically.

#Android Localizationer This is a Android Studio/ IntelliJ IDEA plugin to localize your Android app, translate your string resources automactically. T

Wesley Lin 822 Dec 8, 2022
A tool to install components of the Android SDK into a Maven repository or repository manager to use with the Android Maven Plugin, Gradle and other tools.

Maven Android SDK Deployer Original author including numerous fixes and changes: Manfred Moser [email protected] at simpligility technologies i

simpligility 1.4k Dec 27, 2022