DroidRec is an open-source Android screen recorder

Overview

DroidRec Icon

DroidRec Screenshot

English | עברית

About

DroidRec is an open-source Android screen recorder.

It can not record your system sounds, because Android doesn't have such functionality. However, it can record your microphone.

Download app build

Building

Generate your keystore with keytool -genkeypair -keystore mykey.keystore -validity 365000 -keysize 4096 -keyalg RSA and place it in this folder under signature.keystore name. (Note: Run keytool with the same or older Java version on which you are going to build the application)

To build this app, run build.bash with arguments:

  1. Path to your Android SDK "platforms/android-version"
  2. (Optional) If you don't have Android SDK build tools installed on your system, specify path to your Android SDK "build-tools/version"

Example: ./build.bash path/to/android/sdk/platforms/android-28 path/to/android/sdk/build-tools/28.0.0

License

The Unlicense

">
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to 
Comments
  • Crash when starting recording

    Crash when starting recording

    When I click Start recording the app asks for permission, then crashes.

    04-30 14:27:25.978 25827 25827 D AndroidRuntime: Shutting down VM
    04-30 14:27:25.979 25827 25827 E AndroidRuntime: FATAL EXCEPTION: main
    04-30 14:27:25.979 25827 25827 E AndroidRuntime: Process: com.yakovlevegor.DroidRec, PID: 25827
    04-30 14:27:25.979 25827 25827 E AndroidRuntime: java.lang.RuntimeException: Unable to start service com.yakovlevegor.DroidRec.ScreenRecorder@a5be2f2 with null: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3787)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.app.ActivityThread.-wrap23(ActivityThread.java)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:102)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:154)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6816)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.getAction()' on a null object reference
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at com.yakovlevegor.DroidRec.ScreenRecorder.onStartCommand(ScreenRecorder.java:159)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3770)
    04-30 14:27:25.979 25827 25827 E AndroidRuntime:        ... 8 more
    

    I am using the f-droid version on Android 7.1

    opened by opk12 19
  • Issue with pausing the recording / rotating

    Issue with pausing the recording / rotating

    Upon resuming the recording after pausing, it doesn't create a second video file. Same thing happens when I rotate my screen, it restarts the recording but doesn't make a second video file.

    I'm on Android 11, using the latest version of the app from F-Droid. Not sure what kind of info you'll need. Just let me know.

    Thanks in advance

    opened by Roshi617 13
  • Add features from screencam

    Add features from screencam

    Hello! There is an open source android recording app called screencam, that does support internal audio recording (with the mic), but is unmaintained, and maybe you could use its code for some new features (like internal audio recording, for rooted audio recording and whatnot). It would be great to have a maintained recording app with internal audio (plus screen cam has some anti features...). Here is the link to their source code: https://gitlab.com/vijai/screenrecorder

    opened by CodeCubeNeo 10
  • Crash for constructor introduced in API 26

    Crash for constructor introduced in API 26

    Hello, I use this app on Android 7.1 / API 25 and I have this crash in my logs. Here is a link to Notification.NotificationBuilder for convenience

    04-30 15:00:02.914 31029 31029 E AndroidRuntime: FATAL EXCEPTION: main
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: Process: com.yakovlevegor.DroidRec, PID: 31029
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: java.lang.NoSuchMethodError: No direct method <init>(Landroid/content/Context;Ljava/lang/String;)V in class Landroid/app/Notification$Builder; or its super classes (declaration of 'android.app.Notification$Builder' appears in /system/framework/framework.jar)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at com.yakovlevegor.DroidRec.ScreenRecorder.screenRecordingStart(ScreenRecorder.java:323)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at com.yakovlevegor.DroidRec.ScreenRecorder.actionStart(ScreenRecorder.java:193)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at com.yakovlevegor.DroidRec.ScreenRecorder.onStartCommand(ScreenRecorder.java:160)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3770)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at android.app.ActivityThread.-wrap23(ActivityThread.java)
    04-30 15:00:02.914 31029 31029 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
    
    opened by opk12 9
  • Accessibility issues in GUIs

    Accessibility issues in GUIs

    Description This is a bug report about components that have accessibility issues within the GUI of such an App. Content After I applied my proposed tool to detect the content page, I discovered the following components which have the accessibility issues, and I sincerely struggled you could repair these issues so that the visually impaired users would use this App more conveniently. In practical, each component in the index page suffer from narrow intervals, I would appreciate it If the interval of these components can be enlarged.

    opened by Kazaf123 7
  • No storage permission although granted using file manager

    No storage permission although granted using file manager

    I updated from 2.3 to 2.5 using the F-Droid release. After selecting a recording folder and allowing access using the file manager I tried to start a recording. However then I get the toast message: "Error:Storage permission required"

    I guess this is related to commit https://github.com/yakovlevegor/DroidRec/commit/61deb1d352710b3734cd2131e053af7e69545bf8 which added FileProvider Support on Androd 9 and lower.

    I am on Android 10 and with 2.3 I was asked for the recording folder which seemed to work. The recording aborted quickly but a 0 byte file was created in the folder. So writing to the folder worked.

    I can not give information about other issue with the failed recording because I am stuck before. Will open a new issue if this isn't fixed with newer releases.

    Noticed that there is 2.9 already but I guess the storage issue is not adressed there.

    opened by billie80 3
  • Request To Add Start Screen Recording To Quick Buttons/Notification Centre

    Request To Add Start Screen Recording To Quick Buttons/Notification Centre

    Hey Guys

    I love the simplicity of the app, I see that's the beauty of it, that being said is there any possibility of adding a trigger to start screen recording from within the notification centre pull down?

    Kind Regards Adrian

    opened by knoddix 2
  • Cannot set bitrate

    Cannot set bitrate

    I cannot set custom bitrate for recording. It automatically changes back to a very large bitrate. Most times it's 2147483647, sometimes it's another number. Before it was okay. Now I encounter this problem in every version I have: 2.3 2.5 3.0 3.1. I got the apps from F-droid and Droid-ify's F-droid repository. My phone is Android 12, MIUI 13.0.7.

    opened by QmZh 1
  • Increase the quality and productivity of the application

    Increase the quality and productivity of the application

    Best open source screen recording app for Android, but I wonder:

    • Can you provide an option within the application to record clicks instead of activating it from the developers mode every time.
    • Can you make the floating control not appear in the recording regardless of the opacity

    Thanks

    opened by AI-IMED 1
  • [Feature Request] Ability to show touches

    [Feature Request] Ability to show touches

    In many screen recording apps there is a 'Show touches' function, which simply shows a point on the screen in the recording, which simply shows a point in the recording where the user touches the screen, and is quite useful for some occasions. Also, many use the own phone accessibility settings (like xRecorder) to do this, so it may not be that complex to implement.

    Thanks for making this app!

    opened by Terkyz 1
  • F-Droid

    F-Droid

    I guess https://gitlab.com/fdroid/fdroiddata/-/merge_requests/10893 is opened by you and you can't get notification. Could you please check my commet?

    opened by linsui 1
  • Audio Recording Still Does Not Work

    Audio Recording Still Does Not Work

    Hi Egor !

    I just downloaded DroidRec v2.5 from F-Droid, but it soon became apparent that upon screen recording, the audio is not captured.

    However, DroidRec does record the microphone output.

    Having read the thread at https://github.com/yakovlevegor/DroidRec/issues/16, audio recording has been an ongoing problem, which sadly hasn't been resolved.

    I even tried a previous build where you specifically stated the "audio format" had been fixed (from https://github.com/yakovlevegor/DroidRec/issues/16#issuecomment-1332175873), yet despite this the audio stream was still not being recorded.

    Hope this issue may finally been rectified.

    Appreciate your work Egor, and your TorBridgesUpdater app sounds like an excellent idea. I have yet to give it try. 👍

    opened by Tracy-Howarth 51
  • Feature: Edit recording

    Feature: Edit recording

    I suspect this isn't that easy to implement, but it would be great to be able to edit/trim the video afterwards. That would make the app more competitive with the closed source alternatives.

    opened by billie80 0
  • Feature: Delay recording

    Feature: Delay recording

    Is it possible to add an option to delay the recording? The App is always in the foreground in the beginning. An option to delay the recording would allow to bring it in the backround and wait for the notification pop up to disappear.

    opened by billie80 7
  • Proofreading

    Proofreading

    First of all, thank you very much for your app, it works extremely well.

    And now to business. I don't intend to come off as rude, I'm just a perfectionist, however I had noticed that the Hebrew README is a bit hard to understand, so I wondered whether you'd be interested in me proofreading whatever is in Hebrew in this GitHub repository?

    I already translate a few pieces of software to Hebrew (such as MiXplorer or the Budgie DE) when I have the time, if you wish to see to what standards I uphold myself.

    opened by moriel5 5
Releases(v3.1)
Owner
Egor Yakovlev
Egor Yakovlev
An open-source implementation of the Pixel Active Edge gesture

Active Edge Service This is an open-source implementation of the Pixel Active Edge gesture, written from scratch for portability and customizability.

hlcynprjct! 0 Nov 20, 2021
Customizable Android full screen image viewer for Fresco library supporting "pinch to zoom" and "swipe to dismiss" gestures. Made by Stfalcon

This project is no longer supported. If you're able to switch from Fresco to any other library that works with the Android's ImageView, please migrate

Stfalcon LLC 1.8k Dec 19, 2022
Library to save image locally and shows options to open and share !

Image Save and Share Library to save image locally and shows options to open and share ! Download Demo APK from HERE Kindly use the following links to

Prabhakar Thota 27 Apr 18, 2022
Phimp.me Android Phimp.me is an Android image editor app

Phimp.me Android Phimp.me is an Android image editor app that aims to replace proprietary photographing and image apps on smart phones. It offers feat

FOSSASIA 2.6k Jan 6, 2023
Opencv Android SDK application for Deep Neural Networks to run on Android.

This application allows you to deploy deep nets in Android environment using OpenCV Android SDK. With OpenCV, images are taken from the camera on your phone, and then these images are passed through the neural network and visualized on the front side. In this application, we will search for faces in the images taken and draw the found faces on the screen.

Ahmet Furkan DEMIR 10 Nov 1, 2022
Android filters based on OpenGL (idea from GPUImage for iOS)

GPUImage for Android Idea from: iOS GPUImage framework Goal is to have something as similar to GPUImage as possible. Vertex and fragment shaders are e

CATS Open Source Softwares 8.6k Dec 28, 2022
Android library project for cropping images

I guess people are just cropping out all the sadness An Android library project that provides a simple image cropping Activity, based on code from AOS

Jamie McDonald 4.5k Jan 7, 2023
Custom view for circular images in Android while maintaining the best draw performance

CircularImageView Custom view for circular images in Android while maintaining the best draw performance Usage To make a circular ImageView, add this

Pkmmte Xeleon 1.2k Dec 28, 2022
some android image filters

android-image-filter some android image filters in some filter, I use NDK to implement to make it more efficient Setup Install Android NDK and properl

RagnarokStack 643 Dec 27, 2022
An android image compression library.

Compressor Compressor is a lightweight and powerful android image compression library. Compressor will allow you to compress large photos into smaller

Zetra 6.7k Dec 31, 2022
Custom shaped android imageview components

Shape Image View Provides a set of custom shaped android imageview components, and a framework to define more shapes. Implements both shader and bitma

Siyamed SINIR 2.6k Jan 3, 2023
Android widget for cropping and rotating an image.

Cropper The Cropper is an image cropping tool. It provides a way to set an image in XML and programmatically, and displays a resizable crop window on

Edmodo 2.9k Nov 14, 2022
A simple image cropping library for Android.

SimpleCropView The SimpleCropView is an image cropping library for Android. It simplifies your code for cropping image and provides an easily customiz

Issei Aoki 2.5k Dec 28, 2022
Dali is an image blur library for Android. It contains several modules for static blurring, live blurring and animations.

Dali Dali is an image blur library for Android. It is easy to use, fast and extensible. Dali contains several modules for either static blurring, live

Patrick Favre-Bulle 1k Dec 1, 2022
An image resizing library for Android

Resizer Inspired by zetbaitsu's Compressor, Resizer is a lightweight and easy-to-use Android library for image scaling. It allows you to resize an ima

Kakit Ho 426 Dec 22, 2022
Photo picker library for android. Let's you pick photos directly from files, or navigate to camera or gallery.

ChiliPhotoPicker Made with ❤️ by Chili Labs. Library made without DataBinding, RxJava and image loading libraries, to give you opportunity to use it w

Chili Labs 394 Nov 29, 2022
Simple android image popup Library

Android Image Popup Show image as a popup on a click event or any event. Simply set the image as drawable and thats it!!!. And also you can set width,

Chathura Lakmal 64 Nov 15, 2022
Image loading library for Android

Image Loader Image loader library for Android. Deprecated. See Glide. Features Image transformations Automatic memory and storage caching Ability to l

Yuriy Budiyev 19 May 28, 2022
SVG to Android VectorDrawable XML resource file

svg2android [Deprecated - use official Vector Asset Studio directly from Android Studio] Convert SVG to Android VectorDrawable XML resource file. Extr

INLOOPX 1.7k Dec 29, 2022