Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Heat Wave 8e4f8b96ac
Update issues.yml
3 months ago
.github Update issues.yml 3 months ago
.tx Correct transifex config 5 years ago
base Migrate to AndroidX 10 months ago
connectsdk Migrate to AndroidX 10 months ago
gradle/wrapper Update Gradle version (fixed) 10 months ago
mobile Migrate to AndroidX 10 months ago
tv Bump recommendation number to 10 7 months ago
vlc Migrate to AndroidX 10 months ago
.gitignore Started implementing welcome wizard 6 years ago
.travis.yml Add both API 22 and 23 5 years ago
CONTRIBUTING.md Butterify all the things! 5 years ago
LICENSE.txt Rename LICENSE.md to LICENSE.txt 5 years ago
NOTICE.md Update README and NOTICE 5 years ago
README.md Update README.md 3 years ago
build.gradle Migrate to AndroidX 10 months ago
gradle.properties Migrate to AndroidX 10 months ago
gradlew Initial commit 6 years ago
gradlew.bat Initial commit 6 years ago
settings.gradle Change android-tv module name to tv so that updater works 5 years ago


Popcorn Time for Android Build Status

Allow any Android user to watch movies easily streaming from torrents, without any particular knowledge.

Visit the project's website at http://popcorntime.sh.


Keep track of Popcorn Time development and community activity.

Getting Involved

Want to report a bug, request a feature, contribute or translate Popcorn Time? Check out our in-depth guide to Contributing to Popcorn Time.

Build Instructions

The gradle build system will fetch all dependencies and generate files you need to build the project. You first need to generate the local.properties (replace YOUR_SDK_DIR by your actual android sdk dir) file:

$ echo "sdk.dir=YOUR_SDK_DIR" > local.properties

You can now sync, build and install the project:

$ ./gradlew assembleDebug # assemble the debug .apk
$ ./gradlew installDebug  # install the debug .apk if you have an
                          # emulator or an Android device connected

You can use Android Studio by importing the project as a Gradle project.

Directory structure

`|-- base                            # base module (contains providers and streamer)
 |    |-- build.gradle               # base build script
 |    `-- src
 |          |-- main
 |                |-- assets         # base module assets
 |                |-- java           # base module java code
 |                `-- res            # base module resources
`|-- mobile                          # mobile module (smartphone/tablet application)
 |    |-- build.gradle               # mobile build script
 |    `-- src
 |          |-- main
 |                |-- java           # mobile module java code
 |                `-- res            # mobile module resources
`|-- tv                              # tv module (Android TV application)
 |    |-- build.gradle               # tv build script
 |    `-- src
 |          |-- main
 |                |-- java           # tv module java code
 |                `-- res            # tv module resources
`|-- vlc                             # vlc module (VLC mediaplayer library)
 |    |-- build.gradle               # vlc module build script
 |    `-- src
 |          |-- main
 |                |-- jniLibs        # native LibVLC libraries
 |                |-- java           # LibVLC Java code
`|-- connectsdk                      # connectsdk module
      |-- build.gradle               # connectsdk build script
      `-- src
      |     |-- java                 # connectsdk module java code
      `-- core
      |     |-- src                  # connectsdk module core java code
      `-- modules
            |-- google_cast
                  |-- src            # connectsdk module google cast java code
            |-- firetv
                  |-- src            # connectsdk module google cast java code


For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Popcorn Time will be maintained according to the Semantic Versioning guidelines as much as possible.

Beta versions

Beta releases will be numbered with the following format:


Stable versions

Releases will be numbered with the following format:


Constructed with the following guidelines:

  • A new major release indicates a large change where backwards compatibility is broken.
  • A new minor release indicates a normal change that maintains backwards compatibility.
  • A new patch release indicates a bugfix or small change which does not affect compatibility.


If you distribute a copy or make a fork of the project, you have to credit this project as source.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Note: some dependencies are external libraries, which might be covered by a different license compatible with the GPLv3. They are mentioned in NOTICE.md.

If you want to contact us: [email protected]

Copyright (c) 2014 Popcorn Time Foundation - Released under the GPL V3 license.