├── index.md ├── init.md ├── setup.md ├── .gitattributes ├── bitpics ├── ps1.gif ├── asac.png ├── prism.png ├── README.png ├── Screenshot.png ├── easilyBuildAndroidAPKsOnDevice.png └── reallyEasilyBuildAndroidAPKsOnDevice.png ├── getmodules.md ├── misc ├── gitCommands.md ├── gp.md └── README20170812.md ├── purge.module.md ├── categories.md ├── getbuildAPKs ├── timings.md ├── 404.md ├── contibutors.md ├── READMEdocs.md ├── size.md ├── pages └── asac.md ├── .gitignore ├── easilyBuildAndroidAPKsOnDevice.md ├── reallyEasilyBuildAndroidAPKsOnDevice.md ├── README.md └── LICENSE /index.md: -------------------------------------------------------------------------------- 1 | README.md -------------------------------------------------------------------------------- /init.md: -------------------------------------------------------------------------------- 1 | reallyEasilyBuildAndroidAPKsOnDevice.md -------------------------------------------------------------------------------- /setup.md: -------------------------------------------------------------------------------- 1 | reallyEasilyBuildAndroidAPKsOnDevice.md -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.md linguist-language=HTML 2 | *.txt linguist-language=TXT 3 | -------------------------------------------------------------------------------- /bitpics/ps1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/ps1.gif -------------------------------------------------------------------------------- /bitpics/asac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/asac.png -------------------------------------------------------------------------------- /bitpics/prism.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/prism.png -------------------------------------------------------------------------------- /bitpics/README.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/README.png -------------------------------------------------------------------------------- /bitpics/Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/Screenshot.png -------------------------------------------------------------------------------- /getmodules.md: -------------------------------------------------------------------------------- 1 | git pull --recurse-submodules 2 | git submodule update --init --recursive --remote 3 | -------------------------------------------------------------------------------- /bitpics/easilyBuildAndroidAPKsOnDevice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/easilyBuildAndroidAPKsOnDevice.png -------------------------------------------------------------------------------- /bitpics/reallyEasilyBuildAndroidAPKsOnDevice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SDRausty/docsBuildAPKs/HEAD/bitpics/reallyEasilyBuildAndroidAPKsOnDevice.png -------------------------------------------------------------------------------- /misc/gitCommands.md: -------------------------------------------------------------------------------- 1 | #return just the names of the registered submodules 2 | grep path .gitmodules | sed 's/.*= //' 3 | #The following command will list the submodules: 4 | git submodule--helper list 5 | #Just run the following to initialise all submodule. 6 | git submodule update --init --recursive 7 | -------------------------------------------------------------------------------- /purge.module.md: -------------------------------------------------------------------------------- 1 | Delete Module from Git Repository: 2 | 3 | Delete the relevant line from the .gitmodules file. 4 | Delete the relevant section from .git/config. 5 | Run `git rm --cached path/to/module` (no trailing slash). 6 | Commit `git commit` and remove the now untracked module. 7 | 8 | Reference https://gist.github.com/kyleturner/1563153 9 | -------------------------------------------------------------------------------- /categories.md: -------------------------------------------------------------------------------- 1 | art_and_design 2 | auto_and_vehicles 3 | beauty 4 | books_and_reference 5 | business 6 | comics 7 | communication 8 | dating 9 | education 10 | courses 11 | tutorials 12 | entertainment 13 | events 14 | finance 15 | food_and_drink 16 | games 17 | health_and_fitness 18 | house_and_home 19 | libraries_and_demo 20 | samples 21 | lifestyle 22 | maps_and_navigation 23 | medical 24 | music_and_audio 25 | news_and_magazines 26 | other 27 | parenting 28 | personalization 29 | photography 30 | productivity 31 | shopping 32 | social 33 | sports 34 | tools 35 | travel_and_local 36 | video_players 37 | weather 38 | Tools 39 | Communication 40 | Video players and editing 41 | Travel and local 42 | Social media apps 43 | Productivity 44 | Music 45 | Entertainment 46 | News 47 | Photography 48 | Books 49 | Lifestyle 50 | Personalization 51 | Business 52 | Shopping apps 53 | Weather 54 | Sports 55 | Education 56 | Finance 57 | Health 58 | -------------------------------------------------------------------------------- /getbuildAPKs: -------------------------------------------------------------------------------- 1 | git clone https://github.com/sdrausty/buildAPKs 2 | git clone https://github.com/sdrausty/buildAPKsAmusements 3 | git clone https://github.com/sdrausty/buildAPKsApps 4 | git clone https://github.com/sdrausty/buildAPKsBrowsers 5 | git clone https://github.com/sdrausty/buildAPKsClocks 6 | git clone https://github.com/sdrausty/buildAPKsCompasses 7 | git clone https://github.com/sdrausty/buildAPKsDevTools 8 | git clone https://github.com/sdrausty/buildAPKsFlashlights 9 | git clone https://github.com/sdrausty/buildAPKsGames 10 | git clone https://github.com/sdrausty/buildAPKsLiveWallpapers 11 | git clone https://github.com/sdrausty/buildAPKsSamples 12 | git clone https://github.com/sdrausty/buildAPKsShowcase 13 | git clone https://github.com/sdrausty/buildAPKsTop10 14 | git clone https://github.com/sdrausty/buildAPKsTutorials 15 | git clone https://github.com/sdrausty/buildAPKsWidgets 16 | git clone https://github.com/sdrausty/builtAPKs 17 | git clone https://github.com/sdrausty/debsBuildAPKs 18 | git clone https://github.com/sdrausty/docsBuildAPKs 19 | git clone https://github.com/sdrausty/maintenanceBuildAPKs 20 | git clone https://github.com/sdrausty/shlibs 21 | -------------------------------------------------------------------------------- /misc/gp.md: -------------------------------------------------------------------------------- 1 | S D Rausty 2 | Termux 3 | May 29, 2017 4 | 5 | Have you ever wanted to build your own Android application? Your own APK? Now you can easily compile these selected applications that have already been successfully built and installed on a smartphone. Would you dare to try to spend some time learning something new to do so? 6 | 7 | https://sdrausty.github.io/buildAPKs/reallyEasilyBuildAndroidAPKsOnDevice 8 | 9 | There are some Android apps which build quit well on device with the tools we have at our disposal in Termux today! Some of these showcased apps are quite complex. Others are very entertaining. While others are very simple, mere fragments of apps that are complete in themselves. 10 | 11 | A new repository at https://github.com/sdrausty/buildAPKs is open with instructions at https://sdrausty.github.io/buildAPKs/ and scripts https://github.com/sdrausty/buildAPKs/tree/master/scripts/build that build Android apps on devicei (a smartphone or tablet) in Termux. 12 | 13 | Enjoy this project! Your feedback is welcome at either the wiki at https://github.com/sdrausty/buildAPKs/wiki the issues pages at https://github.com/sdrausty/buildAPKs/issues or through the code itself using `git` of course at https://github.com/sdrausty/buildAPKs/pulls 14 | 15 | --- 16 | https://plus.google.com/109614420080028230010/posts/bQaCYoQtx1c 17 | https://plus.google.com/109614420080028230010/posts/GF9xmkh2iob 18 | https://plus.google.com/109614420080028230010/posts/CFK8nZQqz9B 19 | https://plus.google.com/109614420080028230010/posts/N3qdtrVu9uq 20 | -------------------------------------------------------------------------------- /timings.md: -------------------------------------------------------------------------------- 1 | Thu Jan 3 16:28:33 EST 2019 2 | 3 | 6276 /data/data/com.termux/files/home/buildAPKs 4 | 5 | Size in KB 6 | 7 | Number of APKs 8 | 9 | 0 10 | 11 | Thu Jan 3 16:48:39 EST 2019 12 | 13 | 721728 /data/data/com.termux/files/home/buildAPKs 14 | 15 | 4432 /sdcard/Download/builtAPKs 16 | 17 | Size in KB 18 | 19 | Number of APKs 20 | 21 | 23 22 | 23 | Thu Jan 3 17:08:42 EST 2019 24 | 25 | 739072 /data/data/com.termux/files/home/buildAPKs 26 | 27 | 21476 /sdcard/Download/builtAPKs 28 | 29 | Size in KB 30 | 31 | Number of APKs 32 | 33 | 104 34 | 35 | Thu Jan 3 17:28:43 EST 2019 36 | 37 | 747044 /data/data/com.termux/files/home/buildAPKs 38 | 39 | 28616 /sdcard/Download/builtAPKs 40 | 41 | Size in KB 42 | 43 | Number of APKs 44 | 45 | 213 46 | 47 | Thu Jan 3 17:48:46 EST 2019 48 | 49 | 751992 /data/data/com.termux/files/home/buildAPKs 50 | 51 | 32684 /sdcard/Download/builtAPKs 52 | 53 | Size in KB 54 | 55 | Number of APKs 56 | 57 | 322 58 | 59 | Thu Jan 3 18:08:53 EST 2019 60 | 61 | 755108 /data/data/com.termux/files/home/buildAPKs 62 | 63 | 34832 /sdcard/Download/builtAPKs 64 | 65 | Size in KB 66 | 67 | Number of APKs 68 | 69 | 437 70 | 71 | Thu Jan 3 18:28:55 EST 2019 72 | 73 | 771256 /data/data/com.termux/files/home/buildAPKs 74 | 75 | 50288 /sdcard/Download/builtAPKs 76 | 77 | Size in KB 78 | 79 | Number of APKs 80 | 81 | 506 82 | 83 | Thu Jan 3 18:48:57 EST 2019 84 | 85 | 784292 /data/data/com.termux/files/home/buildAPKs 86 | 87 | 62676 /sdcard/Download/builtAPKs 88 | 89 | Size in KB 90 | 91 | Number of APKs 92 | 93 | 592 94 | 95 | -------------------------------------------------------------------------------- /404.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | permalink: /404.html 4 | title: "sdrausty.github.io 404 Page" 5 | --- 6 | 7 | - [A Smartphone = A Computer!](https://sdrausty.github.io/pages/asac.html) 8 | - [buildAPKs in Termux!](https://sdrausty.github.io/buildAPKs) 9 | - [GitHub and Git Foundations](https://sdrausty.github.io/pages/ggf.html) 10 | - [How to Automate Git Processes](https://sdrausty.github.io/pages/htgp.html) 11 | - [Termux IRC Chat Log](https://sdrausty.github.io/logs/ircFreenodeTermuxWeechatlog.html) 12 | - [TeX in Termux](https://sdrausty.github.io/pages/tit.html) 13 | - [What Do You Do With Termux?](https://sdrausty.github.io/pages/tf.html) 14 | 15 | #### You can do [much more](https://sdrausty.github.io/pages/more.html) onDevice! 16 | 17 | #### When you press and momentarily hold the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot much like this one which shows the screen and the the source code for this page in [vim](http://www.vim.org/git.php) running on [Termux](https://sdrausty.github.io/pages/asac.html) on [Android.](https://source.android.com/) 18 | 19 | ![Screenshot](https://sdrausty.github.io/bitpics/404.png) 20 | 21 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 22 | 23 | ![Screenshot Animation](https://sdrausty.github.io/bitpics/ps1.gif) 24 | 25 | If you're confused by this page try [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) Post your what you have found at [the wiki,](https://github.com/sdrausty/sdrausty.github.io/wiki) [donate](https://sdrausty.github.io/pages/donate.md) and help [this website grow!](https://sdrausty.github.io/) 26 | -------------------------------------------------------------------------------- /contibutors.md: -------------------------------------------------------------------------------- 1 | ### Really Easily Build an Android APK on an Android Device (Smartphone or Tablet). 2 | 3 | Contributors: 4 | [@fornwall](https://github.com/fornwall) 5 | [@vishalbiswas](https://github.com/vishalbiswas) 6 | https://github.com/TheDiamondYT1 7 | 8 | Please contribute to this project through either [the issues page](https://github.com/sdrausty/buildAPKs/issues) or [pull requests.](https://github.com/sdrausty/buildAPKs/pulls) Now you don't need Google Play, f-droid or others to enjoy wonderfully working APKs on your smartphone and tablet thanks to [Termux](./pages/asac) on [Android](https://source.android.com/) and [Github.](https://github.com) 9 | 10 | Enjoy building these select APKs for Termux [projects,](https://github.com/sdrausty/buildAPKs/tree/master/sources) and please find the time to post your feelings [here,](https://github.com/sdrausty/buildAPKs/issues) or [at this wiki.](https://github.com/sdrausty/buildAPKs/wiki 11 | ) 12 | 13 | ![Prism Screenshot](./bitpics/prism.png) 14 | 15 | #### When you press and momentarily hold the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot much like this one which shows the screen and the [the source code for this page](https://raw.githubusercontent.com/sdrausty/buildAPKs/master/docs/reallyEasilyBuildAndroidAPKsOnDevice.md) in [vim](http://www.vim.org/git.php) running on [Termux](./pages/asac) on [Android.](https://source.android.com/) 16 | 17 | ![Screenshot](./bitpics/reallyEasilyBuildAndroidAPKsOnDevice.png) 18 | 19 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 20 | 21 | ![Screenshot Animation](./bitpics/ps1.gif) 22 | 23 | If you're confused by this page try [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) Post your what you have found at [the wiki,](https://github.com/sdrausty/buildAPKs/wiki) [donate](https://sdrausty.github.io/pages/donate) and help [this website grow!](https://sdrausty.github.io/) 24 | 25 | [Up One Level](./../) 26 | 27 | 🛳⛴🛥🚢🚤🚣⛵ 28 | 29 | -------------------------------------------------------------------------------- /READMEdocs.md: -------------------------------------------------------------------------------- 1 | docsBuildAPKs 2 | =============== 3 | 4 | This project is the focumenation folder for [buldAPKs](https://github.com/sdrausty/buildAPKs. 5 | 6 | This project contains [source code](./sources) and [scripts](./scripts/build) to build APKs (Android Package Kits) on the [Termux](https://termux.com/) Android application. Quick setup instructions can be found here at https://sdrausty.github.io/buildAPKs/setup and also https://sdrausty.github.io/buildAPKs/reallyEasilyBuildAndroidAPKsOnDevice right here. 7 | 8 | **Cloning and updating [submodules](https://gist.github.com/gitaarik/8735255) is automated into the [build\*.sh scripts.](https://github.com/sdrausty/buildAPKs/tree/master/scripts/build) Please use `git pull` to update buildAPKs to its' newest version.** If you recieve an error message from `git pull`, the simplest solution is `mv ~/buildAPKs ~/b0` and then reclone into the $HOME folder. 9 | 10 | Build Android APKs on device (smartphone or tablet). 11 | =========================================== 12 | Build Android APKs on device, on your smartphone or tablet with [Termux](https://termux.com/); Make applications for your Android smartphone or tablet! This repository contains source code for various Android applications that have been successfully built in [Termux](https://termux.com/). 13 | 14 | Have you ever wanted to build your own application? Something that you can distribute over the Internet, and can be used on Android smartphones and tablets worldwide. Would you dare to try to spend some time learning something new to do so? 15 | 16 | [BuildAPKs](https://github.com/sdrausty/buildAPKs) is a repository of source code designed just for this purpose. Source code is the way programs are written in a human understandable language for applications to compile and then to be run on an Android device. These programs have been tested and were built successfully on device, a smartphone. First successful builds on Sun May 28 2017 in [Termux](https://termux.com/) (Android 6.0.1 aarch64). 17 | 18 | See https://sdrausty.github.io/buildAPKs/reallyEasilyBuildAndroidAPKsOnDevice for quick setup instructions or https://sdrausty.github.io/buildAPKs for the website for this project. These documents are also located on the [`./docs`](./docs) subdirectory. 19 | -------------------------------------------------------------------------------- /size.md: -------------------------------------------------------------------------------- 1 | 2 | Sizes of directories after running the corresponding command. 3 | 4 | KB DIR INIT 5 | COMMAND BUILT TOTAL 6 | KB DIR BUILT 7 | 8 | git clone https://github.com/sdrausty/buildAPKs 9 | 4220 buildAPKs 10 | 672 buildAPKs/sources/Apps 11 | ./buildAPKs/buildMyFirstAPKs.sh 2 12 | 1012 buildAPKs/sources/Apps 13 | 4568 buildAPKs 14 | cd buildAPKs 15 | git submodule update --init -- ./sources/entertainment/ 16 | 668 sources/entertainment 17 | 5592 . 18 | ./buildEntertainment.sh 5 7 19 | 872 sources/entertainment 20 | 5808 . 21 | git submodule update --init -- ./sources/flashlights/ 22 | 2744 sources/flashlights/ 23 | 11104 . 24 | ./buildFlashlights.sh 4 11 25 | 3000 sources/flashlights/ 26 | 11376 . 27 | git submodule update --init -- ./sources/tools 28 | 2752 sources/tools/ 29 | 16380 . 30 | ./buildTools.sh 4 15 31 | 2952 sources/tools/ 32 | 16604 . 33 | git submodule update --init -- ./sources/widgets 34 | 3324 sources/widgets/ 35 | 22504 . 36 | ./buildWidgets.sh 8 23 37 | 4144 sources/widgets/ 38 | 22996 . 39 | git submodule update --init -- ./sources/top10 40 | 4928 sources/top10/ 41 | 29984 . 42 | ./buildTop10.sh 10 33 43 | 6008 sources/top10/ 44 | 31104 . 45 | git submodule update --init -- ./sources/liveWallpapers 46 | 12412 sources/liveWallpapers/ 47 | 54444 . 48 | ./buildLiveWallpapers.sh 13 46 49 | 15924 sources/liveWallpapers/ 50 | 58012 . 51 | git submodule update --init -- ./sources/browsers 52 | 6736 sources/browsers/ 53 | 78572 . 54 | ./buildBrowsers.sh 4 50 55 | 8188 sources/browsers/ 56 | 80308 . 57 | git submodule update --init -- ./sources/games 58 | 19604 sources/games/ 59 | 114780 . 60 | ./buildGames.sh 61 | 33996 games 62 | git submodule update --init -- ./sources/samples 63 | ./buildSamples.sh (buildHelloWorlds.sh) 64 | 61808 samples 65 | git submodule update --init -- ./sources/apps 66 | ./buildApplications.sh 67 | 73924 apps 68 | git submodule update --init -- ./sources/tutorials 69 | ./buildTutorials.sh 70 | 138980 tutorials 71 | Note: these build scripts pull more than one module. 72 | git submodule update --init -- ./sources/clocks 73 | ./buildClocks.sh 74 | 6636 clocks 75 | git submodule update --init -- ./sources/compasses 76 | ./buildCompasses.sh 77 | 2164 compasses 6 78 | 79 | ./buildAll.sh 80 | ./buildAllInDir.sh 81 | 82 | Total APKs 83 | 588 84 | -------------------------------------------------------------------------------- /pages/asac.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: A Smartphone = A Computer! 4 | --- 5 | 6 | ## Morph your Android device into a computer! Take part in our endeavor of harnessing the power of your Android tablet or smartphone. There is 24/7 development [here.](https://github.com/termux/termux-packages/graphs/punch-card) The world is a big place! 7 | 8 | View and discuss topics regarding aspects of Termux development at the following [Github](https://github.com) pages: 9 | 10 | - [https://github.com/termux/play-audio/issues](https://github.com/termux/play-audio/issues) 11 | 12 | - [https://github.com/termux/termux-api/issues](https://github.com/termux/termux-api/issues) 13 | 14 | - [https://github.com/termux/termux-api-package/issues](https://github.com/termux/termux-api-package/issues) 15 | 16 | - [https://github.com/termux/termux-app/issues](https://github.com/termux/termux-app/issues) 17 | 18 | - [https://github.com/termux/termux-apt-repo/issues](https://github.com/termux/termux-apt-repo/issues) 19 | 20 | - [https://github.com/termux/termux-create-package/issues](https://github.com/termux/termux-create-package/issues) 21 | 22 | - [https://github.com/termux/termux-packages/issues](https://github.com/termux/termux-packages/issues) 23 | 24 | ### When you press the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot like this one of [the source code for this page](https://raw.githubusercontent.com/sdrausty/sdrausty.github.io/master/pages/asac.md) in [vim](http://www.vim.org/git.php) running in [Termux](./asac.md) on [Android.](https://source.android.com/) 25 | 26 | ![Screenshot](./../bitpics/asac.png) 27 | 28 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 29 | 30 | ![Screenshot Animation](./../bitpics/ps1.gif) 31 | 32 | If you're confused by this page try [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) Post your what you have found at [the wiki for this website](https://github.com/sdrausty/sdrausty.github.io/wiki) and [donate](./donate.md) to let [sdrausty.github.io](https://sdrausty.github.io/) grow. 33 | 34 | - [Termux for Android!](https://termux.com/) 35 | 36 | - [Termux on F-droid!](https://f-droid.org/packages/com.termux/) Please do not mix your installation of Termux between Google Play and F-droid. There are [compatibility issues.](https://github.com/termux/termux-api/issues/53) 37 | https://f-droid.org/packages/com.termux/ 38 | 39 | [Back to the Previous Page](./../) 40 | -------------------------------------------------------------------------------- /misc/README20170812.md: -------------------------------------------------------------------------------- 1 | buildAPKs 2 | =============== 3 | [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) 4 | 5 | This project contains [source code](./sources) and [scripts](./scripts/build) to build APKs (Android Package Kits) on the [Termux](https://termux.com/) Android application. Quick setup instructions can be found at https://sdrausty.github.io/buildAPKs/setup 6 | 7 | **Cloning with `git` and updating the submodules was automated into the build\* shell scripts on 20170812. Please use `git pull` to update buildAPKs.** 8 | 9 | **UPDATE: Cloning with git:** This repository uses [submodules.](https://gist.github.com/gitaarik/8735255) In order to get **all the parts** of this project you will need to run [`git submodule init`](https://github.com/sdrausty/buildAPKs/blob/master/scripts/maintenance/pullBuildAPKsSubmodulesInit.sh) when you clone and [`git submodule update`](https://github.com/sdrausty/buildAPKs/blob/master/scripts/maintenance/pullBuildAPKsSubmodules.sh) to update all the submodules. If you only want to populate a particular submodule use `git submodule update pathToSubmodule`, i.e. `git submodule update source/widgets` will clone the widgets submodule into buildAPKs. The following command [`cat .gitmodules`](https://github.com/sdrausty/buildAPKs/blob/master/.gitmodules) displays which submodules are available and the paths to the submodules. Please remember to use [`git pull`,](https://help.github.com/articles/fetching-a-remote/) and these other commands to keep your repository of buildAPKs and the submodules up-to-date. 10 | 11 | Build Android APKs on device (smartphone or tablet). 12 | =========================================== 13 | Build Android APKs on device, on your smartphone or tablet with Termux; Make applications for your Android smartphone or tablet! This repository contains source code for various Android applications that have been successfully built in Termux. 14 | 15 | Have you ever wanted to build your own application? Something that you can distribute over the Internet, and can be used on Android smartphones and tablets worldwide. Would you dare to try to spend some time learning something new to do so? 16 | 17 | [BuildAPKs](https://github.com/sdrausty/buildAPKs) is a repository of source code designed just for this purpose. Source code is the way programs are written in a human understandable language for applications to compile and then to be run on an Android device. These programs have been tested and were built successfully on device, a smartphone. First successful builds on Sun May 28 2017 in Termux (Android 6.0.1 aarch64). 18 | 19 | See https://sdrausty.github.io/buildAPKs/reallyEasilyBuildAndroidAPKsOnDevice for quick setup instructions or https://sdrausty.github.io/buildAPKs for the website for this project. 20 | 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Core latex/pdflatex auxiliary files: 2 | *.aux 3 | *.lof 4 | *.log 5 | *.lot 6 | *.fls 7 | *.out 8 | *.toc 9 | *.fmt 10 | *.fot 11 | *.cb 12 | *.cb2 13 | .*.lb 14 | 15 | ## Intermediate documents: 16 | *.dvi 17 | *.xdv 18 | *-converted-to.* 19 | # these rules might exclude image files for figures etc. 20 | # *.ps 21 | # *.eps 22 | # *.pdf 23 | 24 | ## Generated if empty string is given at "Please type another file name for output:" 25 | .pdf 26 | 27 | ## Bibliography auxiliary files (bibtex/biblatex/biber): 28 | *.bbl 29 | *.bcf 30 | *.blg 31 | *-blx.aux 32 | *-blx.bib 33 | *.run.xml 34 | 35 | ## Build tool auxiliary files: 36 | *.fdb_latexmk 37 | *.synctex 38 | *.synctex(busy) 39 | *.synctex.gz 40 | *.synctex.gz(busy) 41 | *.pdfsync 42 | 43 | ## Auxiliary and intermediate files from other packages: 44 | # algorithms 45 | *.alg 46 | *.loa 47 | 48 | # achemso 49 | acs-*.bib 50 | 51 | # amsthm 52 | *.thm 53 | 54 | # beamer 55 | *.nav 56 | *.pre 57 | *.snm 58 | *.vrb 59 | 60 | # changes 61 | *.soc 62 | 63 | # cprotect 64 | *.cpt 65 | 66 | # elsarticle (documentclass of Elsevier journals) 67 | *.spl 68 | 69 | # endnotes 70 | *.ent 71 | 72 | # fixme 73 | *.lox 74 | 75 | # feynmf/feynmp 76 | *.mf 77 | *.mp 78 | *.t[1-9] 79 | *.t[1-9][0-9] 80 | *.tfm 81 | 82 | #(r)(e)ledmac/(r)(e)ledpar 83 | *.end 84 | *.?end 85 | *.[1-9] 86 | *.[1-9][0-9] 87 | *.[1-9][0-9][0-9] 88 | *.[1-9]R 89 | *.[1-9][0-9]R 90 | *.[1-9][0-9][0-9]R 91 | *.eledsec[1-9] 92 | *.eledsec[1-9]R 93 | *.eledsec[1-9][0-9] 94 | *.eledsec[1-9][0-9]R 95 | *.eledsec[1-9][0-9][0-9] 96 | *.eledsec[1-9][0-9][0-9]R 97 | 98 | # glossaries 99 | *.acn 100 | *.acr 101 | *.glg 102 | *.glo 103 | *.gls 104 | *.glsdefs 105 | 106 | # gnuplottex 107 | *-gnuplottex-* 108 | 109 | # gregoriotex 110 | *.gaux 111 | *.gtex 112 | 113 | # htlatex 114 | *.4ct 115 | *.4tc 116 | *.idv 117 | *.lg 118 | *.trc 119 | *.xref 120 | 121 | # hyperref 122 | *.brf 123 | 124 | # knitr 125 | *-concordance.tex 126 | # TODO Comment the next line if you want to keep your tikz graphics files 127 | *.tikz 128 | *-tikzDictionary 129 | 130 | # listings 131 | *.lol 132 | 133 | # makeidx 134 | *.idx 135 | *.ilg 136 | *.ind 137 | *.ist 138 | 139 | # minitoc 140 | *.maf 141 | *.mlf 142 | *.mlt 143 | *.mtc[0-9]* 144 | *.slf[0-9]* 145 | *.slt[0-9]* 146 | *.stc[0-9]* 147 | 148 | # minted 149 | _minted* 150 | *.pyg 151 | 152 | # morewrites 153 | *.mw 154 | 155 | # nomencl 156 | *.nlg 157 | *.nlo 158 | *.nls 159 | 160 | # pax 161 | *.pax 162 | 163 | # pdfpcnotes 164 | *.pdfpc 165 | 166 | # sagetex 167 | *.sagetex.sage 168 | *.sagetex.py 169 | *.sagetex.scmd 170 | 171 | # scrwfile 172 | *.wrt 173 | 174 | # sympy 175 | *.sout 176 | *.sympy 177 | sympy-plots-for-*.tex/ 178 | 179 | # pdfcomment 180 | *.upa 181 | *.upb 182 | 183 | # pythontex 184 | *.pytxcode 185 | pythontex-files-*/ 186 | 187 | # thmtools 188 | *.loe 189 | 190 | # TikZ & PGF 191 | *.dpth 192 | *.md5 193 | *.auxlock 194 | 195 | # todonotes 196 | *.tdo 197 | 198 | # easy-todo 199 | *.lod 200 | 201 | # xmpincl 202 | *.xmpi 203 | 204 | # xindy 205 | *.xdy 206 | 207 | # xypic precompiled matrices 208 | *.xyc 209 | 210 | # endfloat 211 | *.ttt 212 | *.fff 213 | 214 | # Latexian 215 | TSWLatexianTemp* 216 | 217 | ## Editors: 218 | # WinEdt 219 | *.bak 220 | *.sav 221 | 222 | # Texpad 223 | .texpadtmp 224 | 225 | # Kile 226 | *.backup 227 | 228 | # KBibTeX 229 | *~[0-9]* 230 | 231 | # auto folder when using emacs and auctex 232 | ./auto/* 233 | *.el 234 | 235 | # expex forward references with \gathertags 236 | *-tags.tex 237 | 238 | # standalone packages 239 | *.sta 240 | 241 | # generated if using elsarticle.cls 242 | *.spl 243 | -------------------------------------------------------------------------------- /easilyBuildAndroidAPKsOnDevice.md: -------------------------------------------------------------------------------- 1 | ## [Really Easily Build an Android APK on Device](https://sdrausty.github.io/docsBuildAPKs/reallyEasilyBuildAndroidAPKsOnDevice) 2 | 3 | Have you ever wanted to build your own Android application on device? Your own app created on a smartphone or tablet? Now you can easily compile many selected applications that have already been successfully built and installed on smartphones (aarch64 and arm). Would you dare to try to spend some time learning something new to do so? There are many Android apps which build quit well on device with the tools we have at our disposal in [Termux.](https://termux.com/) today at [this page.](https://github.com/sdrausty/buildAPKs/) 4 | 5 | Some of these showcased apps are quite complex. Others are very entertaining. While others still are very simple, mere fragments of apps that are complete in themselves. Instructions are located at [this page.](https://sdrausty.github.io/buildAPKs/) More scripts should be written to build Android apps on device. Alternative scripts automating the entire process like `./gradlew`, but much simpler can be found at [this page.](https://github.com/sdrausty/buildAPKs/tree/master/scripts/build/) We should really leave the age of whirling fans and disk drives behind: 6 | 7 | Install [Termux](https://termux.com/) on Android. Copy and paste each of the following commands separately into [Termux.](https://termux.com/) Run each of the following command lines separately. Running them all at once may generate errors. 8 | 9 | ``` 10 | pkg up 11 | pkg install aapt apksigner dx ecj findutils git 12 | cd && git clone https://github.com/sdrausty/buildAPKs 13 | ./buildAPKs/scripts/build/buildMyFirstAPKs.sh 14 | 15 | ``` 16 | 17 | This may take some time dependent on system speed and configuration for these command-line commands to complete. This means packages will probably be installed in [Termux.](https://termux.com/) and then one of the packages, `git` will fetch the buildAPKs repository, and then the last command. While it should be fairly self-explanatory, it builds one of the APKs in the showcase and places it in the Downloads folder using the tools that we have at our disposal today, in [Termux,](https://termux.com/) on-the-fly. Upon completion, output as follows will print onto the screen: 18 | 19 | 20 | ``` 21 | It is ready to be installed. 22 | Install moon.apk from /sdcard/Download/ using your file manager from Android. 23 | ``` 24 | ![Prism Screenshot](./bitpics/prism.png) 25 | 26 | Enjoy this project! Your feedback is welcome at the wiki for this showcase of open source APKs at [this wiki.](https://github.com/sdrausty/buildAPKs/wiki) The wiki for [sdrausty.github.io](https://sdrausty.github.io/) is located at [this wiki.](https://github.com/sdrausty/sdrausty.github.io/wiki) Please do not confuse the two different wikies. You are invited to contribute to the /docs directory as well, which is home to this [webpage directory,](https://sdrausty.github.io/buildAPKs/) as well as this page you are reading now. So in a way you are reading a defacto wiki page. 27 | 28 | An issue page is located at [here](https://github.com/sdrausty/buildAPKs/issues) and please remember about the fascinating git coding processes of cloning and merging source code on GitHub. Have fun! Enjoy! 29 | 30 | #### When you press and momentarily hold the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot much like this one which shows the screen and the [the source code for this page](https://raw.githubusercontent.com/sdrausty/buildAPKs/master/docs/easilyBuildAndroidAPKsOnDevice.md) in [vim](http://www.vim.org/git.php) running on [Termux](./pages/asac) on [Android.](https://source.android.com/) 31 | 32 | ![Screenshot](./bitpics/easilyBuildAndroidAPKsOnDevice.png) 33 | 34 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 35 | 36 | ![Screenshot Animation](./bitpics/ps1.gif) 37 | 38 | If you're confused by this page try [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) Post your what you have found at [the wiki,](https://github.com/sdrausty/buildAPKs/wiki) [donate](https://sdrausty.github.io/pages/donate) and help [this website grow!](https://sdrausty.github.io/) 39 | 40 | [Up One Level](./../) 41 | 42 | 🛳⛴🛥🚢🚤🚣⛵ 43 | 44 | -------------------------------------------------------------------------------- /reallyEasilyBuildAndroidAPKsOnDevice.md: -------------------------------------------------------------------------------- 1 | ### Really Easily Build an Android APK on an Android Device (Smartphone or Tablet). 2 | 3 | Install [Termux](https://termux.com/) on Android. Copy and paste each of the following commands separately into [Termux.](https://termux.com/) 4 | 5 | Run each of the following command lines separately. Running them all at once may generate errors; Hint, copy and paste the following: 6 | 7 | ``` 8 | pkg up 9 | pkg install aapt apksigner dx ecj findutils git 10 | cd && git clone https://github.com/sdrausty/buildAPKs 11 | ./buildAPKs/scripts/build/buildMyFirstAPKs.sh 12 | 13 | ``` 14 | 15 | It may take some time, dependent on system speed and configuration, for these command-line commands to complete. This means packages will probably be installed in [Termux.](https://termux.com/) 16 | 17 | Then one of the programs from the git package, in particular `git` will fetch the buildAPKs repository from [Github,](https://github.com) and then the last command. While it should be fairly self-explanatory, it builds one of the APKs in the showcase; And places it in the Downloads folder using the tools that we have at our disposal today, in [Termux,](https://termux.com/) on-the-fly! 18 | 19 | Upon completion, output as follows will print onto the screen: 20 | 21 | 22 | ``` 23 | Your moon.apk was copied to /sdcard/Download/moon.apk 24 | It is ready to be installed. 25 | Install moon.apk from /sdcard/Download/ using your file manager from Android. 26 | ``` 27 | 28 | After you're done installing your first APK from the downloads directory (File Manager > Download (**Tap moon.apk with your finger to install**)). You can build hundreds of other exciting, amazing and beautiful APKs by running [shell scripts](https://github.com/sdrausty/buildAPKs/tree/master/scripts/build) from the [sources directory.](https://github.com/sdrausty/buildAPKs/tree/master/sources) 29 | 30 | These [shell scripts](https://github.com/sdrausty/buildAPKs/tree/master/scripts/build) will download the necessary components from [Github,](https://github.com) build them on device. Then, these [shell scripts](https://github.com/sdrausty/buildAPKs/tree/master/scripts/build) will deposit your built APKs into `/sdcard/Download/builtAPKs` on your device (smartphone or tablet). Like magic! Presto! 31 | 32 | Prefix these bash scripts by typing dot slash `./` in the [sources directory](https://github.com/sdrausty/buildAPKs/tree/master/sources) on your smartphone or tablet in Termux, i.e. type `./b` at the prompt ($), press TAB TAB (x2). 33 | 34 | The prompt should magically add `uild`; Then add a capitol `A` and small `l`. Press TAB TAB (x2) again. This will build the following command on the command line `./buildAll.sh` for you. Press enter (return) in `~/buildAPKs/sources/` and watch as hundreds of APKs build on device... 35 | 36 | Your built APKs will be deposited into `/sdcard/Download/builtAPKs` for installing onto your smartphone or tablet through your file manager. Have fun and enjoy compiling and running these select APKs! 37 | 38 | Please contribute to this project through either [the issues page](https://github.com/sdrausty/buildAPKs/issues) or [pull requests.](https://github.com/sdrausty/buildAPKs/pulls) Now you don't need Google Play, F-Droid or other APK download sites to enjoy wonderfully working APKs on your smartphone and tablet; Thanks to [Termux](./pages/asac) and [Github.](https://github.com) 39 | 40 | Enjoy building these select APKs for Termux [projects,](https://github.com/sdrausty/buildAPKs/tree/master/sources) and please find the time to post your feelings [here,](https://github.com/sdrausty/buildAPKs/issues) or [at this wiki.](https://github.com/sdrausty/buildAPKs/wiki 41 | ) 42 | 43 | ![Prism Screenshot](./bitpics/prism.png) 44 | 45 | #### When you press and momentarily hold the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot much like this one which shows the screen and the [the source code for this page](https://raw.githubusercontent.com/sdrausty/buildAPKs/master/docs/reallyEasilyBuildAndroidAPKsOnDevice.md) in [vim](http://www.vim.org/git.php) running on [Termux](./pages/asac) on [Android.](https://source.android.com/) 46 | 47 | ![Screenshot](./bitpics/reallyEasilyBuildAndroidAPKsOnDevice.png) 48 | 49 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 50 | 51 | ![Screenshot Animation](./bitpics/ps1.gif) 52 | 53 | If you're confused by this page try [this link,](https://termux.com/help.html) or [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) 54 | 55 | Post your what you have found at [the wiki,](https://github.com/sdrausty/buildAPKs/wiki) [donate](https://sdrausty.github.io/pages/donate) and help [this website grow!](https://sdrausty.github.io/) 56 | 57 | [Up One Level](./../) 58 | 59 | 🛳⛴🛥🚢🚤🚣⛵ 60 | 61 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [Easily Build Android APKs on Device in Termux](https://BuildAPKs.github.io/docsBuildAPKs/easilyBuildAndroidAPKsOnDevice) 2 | 3 | Have you ever wanted to build your own application for Android on Android? Your own app, APK! Something that you can distribute over the Internet, and can be used on Android smartphones worldwide. Would you dare to try to spend some time learning something new to do so? 4 | 5 | [This repository](https://github.com/BuildAPKs/buildAPKs) of source code is designed just for this purpose. Source code is the way software is written in an understandable human language for applications to compile into machine code, and then to be run as programs on a device. The applications in this collection are showcased because they have been tested and passed. They were successfully built and installed on device, yes all of it on a smartphone. 6 | 7 | In order to build these apps, the following programs need to be used. After finishing the complex process of compiling, the finished product, the APK file, should be installable on any compliant Android device. Use `apt` or `packages` to install all of the following required Termux packages: 8 | 9 | - `aapt` Android Asset Packaging Tool 10 | 11 | - `apksigner` APK signing tool 12 | 13 | - `dx` Command which takes in class files and reformulates them for usage on Android 14 | 15 | - `ecj` Eclipse Compiler for Java 16 | 17 | If you want to install `aapt`, you will use `packages install aapt`. Before installing any packages, you should use `apt update && apt upgrade`. You can install all of them at once by executing: 18 | 19 | ``` 20 | packages install aapt apksigner dx ecj 21 | ``` 22 | 23 | Fortunately, these commands work in Termux. The popular compilers `jack` and `java` do not work at present. They are stuck in [disabled packages](https://github.com/termux/termux-packages/tree/master/disabled-packages), not in [packages](https://github.com/termux/termux-packages/tree/master/packages) that you can install on the fly. There is active discussion regarding why `jack` is stuck [here](https://github.com/termux/termux-packages/issues?utf8=✓&q=is%3Aissue%20%20jack), and why `java` is stranded [there.](https://github.com/termux/termux-packages/issues?utf8=✓&q=is%3Aissue%20%20java) 24 | 25 | You may be wondering now after installing the necessary packages and downloading the source code: 26 | 27 | ``` 28 | cd && git clone https://github.com/BuildAPKs/buildAPKs 29 | ``` 30 | 31 | What do I do next? How do I use `aapt`, the Android Asset Packaging Tool; `apksigner`, the APK signing tool; `dx`, the command which takes in class files and reformulates them for usage on Android, and `ecj`, the Eclipse Compiler for Java? 32 | 33 | [This project](https://github.com/BuildAPKs/buildAPKs) has [bash scripts](https://github.com/BuildAPKs/buildAPKs/tree/master/scripts/build) which help immensely in automating work. Make them executable by `chmod 750 script_name` if they are not already. Check to see their permissions with `ls -al`. Then simply run `build.one.bash` in the directory of the program you wish to make by calling it by name. Look for the `AndroidManifest.xml` file. That is where you want to run the [build.one.bash script.](https://raw.githubusercontent.com/BuildAPKs/buildAPKs/master/scripts/bash/build/build.one.bash) After you are done building the app, install it **from** your `/sdcard/Download/builtAPKs` directory through your file manager in Android. 34 | 35 | If your system does not have a file manager, Open File Manager is available at [F-droid.](https://f-droid.org/packages/com.nexes.manager/) You can download, install and use it. Source code for this APK (Android Package Kit) is available [here](https://github.com/BuildAPKs/buildAPKsApps/tree/master/browsers/Android-File-Manager) at buildAPKsApps, a submodule of buildAPKs. If you prefer [Ghost Commander,](https://f-droid.org/packages/com.ghostsq.commander/) the souce code is available [here.](https://github.com/BuildAPKs/buildAPKsBrowsers/tree/master/ghostcommander-code) Both APKs build beautifully on device (a smartphone) in your pocket with [Termux.](https://termux.com) We should really leave the age of whirling fans and disk drives behind. 36 | 37 | Enjoy this project! Inscribe your feedback at either the [wiki,](https://github.com/BuildAPKs/buildAPKs/wiki) the [issues pages](https://github.com/BuildAPKs/buildAPKs/issues) or through [the code itself.](https://github.com/BuildAPKs/buildAPKs/pulls) 38 | 39 | #### When you press and momentarily hold the `volumeDown+power` buttons simultaneously on a smartphone, it takes a screenshot much like this one which shows the screen and the [the source code for this page](https://raw.githubusercontent.com/BuildAPKs/buildAPKs/master/docs/README.md) in [vim](http://www.vim.org/git.php) running on [Termux](./pages/asac) on [Android.](https://source.android.com/) 40 | 41 | ![Screenshot](./bitpics/README.png) 42 | 43 | #### This animation was created with [imagemagick](https://sdrausty.github.io/pages/im.html) in [Termux](https://sdrausty.github.io/pages/asac.html) on an Android smartphone. 44 | 45 | ![Screenshot Animation](./bitpics/ps1.gif) 46 | 47 | If you're confused by this page try [this link,](http://tldp.org/) or you might want to try [this one.](https://www.debian.org/doc/) Post your what you have found at [the wiki,](https://github.com/sdrausty/buildAPKs/wiki) [donate](https://sdrausty.github.io/pages/donate) and help [this website grow!](https://sdrausty.github.io/) 48 | 49 | - [Termux on F-droid!](https://f-droid.org/packages/com.termux/) Please do not mix your installation of Termux between Google Play and F-droid. There are [compatibility issues.](https://github.com/termux/termux-api/issues/53) 50 | 51 | [Up One Level](./../) 52 | 53 | 🛳⛴🛥🚢🚤🚣⛵ 54 | 55 | 56 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2017-2018 by SDRausty. All rights reserved. 2 | 3 | Cumulative License: 4 | 5 | MIT License 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | Also: 26 | 27 | Apache License 28 | Version 2.0, January 2004 29 | http://www.apache.org/licenses/ 30 | 31 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 32 | 33 | 1. Definitions. 34 | 35 | "License" shall mean the terms and conditions for use, reproduction, 36 | and distribution as defined by Sections 1 through 9 of this document. 37 | 38 | "Licensor" shall mean the copyright owner or entity authorized by 39 | the copyright owner that is granting the License. 40 | 41 | "Legal Entity" shall mean the union of the acting entity and all 42 | other entities that control, are controlled by, or are under common 43 | control with that entity. For the purposes of this definition, 44 | "control" means (i) the power, direct or indirect, to cause the 45 | direction or management of such entity, whether by contract or 46 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 47 | outstanding shares, or (iii) beneficial ownership of such entity. 48 | 49 | "You" (or "Your") shall mean an individual or Legal Entity 50 | exercising permissions granted by this License. 51 | 52 | "Source" form shall mean the preferred form for making modifications, 53 | including but not limited to software source code, documentation 54 | source, and configuration files. 55 | 56 | "Object" form shall mean any form resulting from mechanical 57 | transformation or translation of a Source form, including but 58 | not limited to compiled object code, generated documentation, 59 | and conversions to other media types. 60 | 61 | "Work" shall mean the work of authorship, whether in Source or 62 | Object form, made available under the License, as indicated by a 63 | copyright notice that is included in or attached to the work 64 | (an example is provided in the Appendix below). 65 | 66 | "Derivative Works" shall mean any work, whether in Source or Object 67 | form, that is based on (or derived from) the Work and for which the 68 | editorial revisions, annotations, elaborations, or other modifications 69 | represent, as a whole, an original work of authorship. For the purposes 70 | of this License, Derivative Works shall not include works that remain 71 | separable from, or merely link (or bind by name) to the interfaces of, 72 | the Work and Derivative Works thereof. 73 | 74 | "Contribution" shall mean any work of authorship, including 75 | the original version of the Work and any modifications or additions 76 | to that Work or Derivative Works thereof, that is intentionally 77 | submitted to Licensor for inclusion in the Work by the copyright owner 78 | or by an individual or Legal Entity authorized to submit on behalf of 79 | the copyright owner. For the purposes of this definition, "submitted" 80 | means any form of electronic, verbal, or written communication sent 81 | to the Licensor or its representatives, including but not limited to 82 | communication on electronic mailing lists, source code control systems, 83 | and issue tracking systems that are managed by, or on behalf of, the 84 | Licensor for the purpose of discussing and improving the Work, but 85 | excluding communication that is conspicuously marked or otherwise 86 | designated in writing by the copyright owner as "Not a Contribution." 87 | 88 | "Contributor" shall mean Licensor and any individual or Legal Entity 89 | on behalf of whom a Contribution has been received by Licensor and 90 | subsequently incorporated within the Work. 91 | 92 | 2. Grant of Copyright License. Subject to the terms and conditions of 93 | this License, each Contributor hereby grants to You a perpetual, 94 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 95 | copyright license to reproduce, prepare Derivative Works of, 96 | publicly display, publicly perform, sublicense, and distribute the 97 | Work and such Derivative Works in Source or Object form. 98 | 99 | 3. Grant of Patent License. Subject to the terms and conditions of 100 | this License, each Contributor hereby grants to You a perpetual, 101 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 102 | (except as stated in this section) patent license to make, have made, 103 | use, offer to sell, sell, import, and otherwise transfer the Work, 104 | where such license applies only to those patent claims licensable 105 | by such Contributor that are necessarily infringed by their 106 | Contribution(s) alone or by combination of their Contribution(s) 107 | with the Work to which such Contribution(s) was submitted. If You 108 | institute patent litigation against any entity (including a 109 | cross-claim or counterclaim in a lawsuit) alleging that the Work 110 | or a Contribution incorporated within the Work constitutes direct 111 | or contributory patent infringement, then any patent licenses 112 | granted to You under this License for that Work shall terminate 113 | as of the date such litigation is filed. 114 | 115 | 4. Redistribution. You may reproduce and distribute copies of the 116 | Work or Derivative Works thereof in any medium, with or without 117 | modifications, and in Source or Object form, provided that You 118 | meet the following conditions: 119 | 120 | (a) You must give any other recipients of the Work or 121 | Derivative Works a copy of this License; and 122 | 123 | (b) You must cause any modified files to carry prominent notices 124 | stating that You changed the files; and 125 | 126 | (c) You must retain, in the Source form of any Derivative Works 127 | that You distribute, all copyright, patent, trademark, and 128 | attribution notices from the Source form of the Work, 129 | excluding those notices that do not pertain to any part of 130 | the Derivative Works; and 131 | 132 | (d) If the Work includes a "NOTICE" text file as part of its 133 | distribution, then any Derivative Works that You distribute must 134 | include a readable copy of the attribution notices contained 135 | within such NOTICE file, excluding those notices that do not 136 | pertain to any part of the Derivative Works, in at least one 137 | of the following places: within a NOTICE text file distributed 138 | as part of the Derivative Works; within the Source form or 139 | documentation, if provided along with the Derivative Works; or, 140 | within a display generated by the Derivative Works, if and 141 | wherever such third-party notices normally appear. The contents 142 | of the NOTICE file are for informational purposes only and 143 | do not modify the License. You may add Your own attribution 144 | notices within Derivative Works that You distribute, alongside 145 | or as an addendum to the NOTICE text from the Work, provided 146 | that such additional attribution notices cannot be construed 147 | as modifying the License. 148 | 149 | You may add Your own copyright statement to Your modifications and 150 | may provide additional or different license terms and conditions 151 | for use, reproduction, or distribution of Your modifications, or 152 | for any such Derivative Works as a whole, provided Your use, 153 | reproduction, and distribution of the Work otherwise complies with 154 | the conditions stated in this License. 155 | 156 | 5. Submission of Contributions. Unless You explicitly state otherwise, 157 | any Contribution intentionally submitted for inclusion in the Work 158 | by You to the Licensor shall be under the terms and conditions of 159 | this License, without any additional terms or conditions. 160 | Notwithstanding the above, nothing herein shall supersede or modify 161 | the terms of any separate license agreement you may have executed 162 | with Licensor regarding such Contributions. 163 | 164 | 6. Trademarks. This License does not grant permission to use the trade 165 | names, trademarks, service marks, or product names of the Licensor, 166 | except as required for reasonable and customary use in describing the 167 | origin of the Work and reproducing the content of the NOTICE file. 168 | 169 | 7. Disclaimer of Warranty. Unless required by applicable law or 170 | agreed to in writing, Licensor provides the Work (and each 171 | Contributor provides its Contributions) on an "AS IS" BASIS, 172 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 173 | implied, including, without limitation, any warranties or conditions 174 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 175 | PARTICULAR PURPOSE. You are solely responsible for determining the 176 | appropriateness of using or redistributing the Work and assume any 177 | risks associated with Your exercise of permissions under this License. 178 | 179 | 8. Limitation of Liability. In no event and under no legal theory, 180 | whether in tort (including negligence), contract, or otherwise, 181 | unless required by applicable law (such as deliberate and grossly 182 | negligent acts) or agreed to in writing, shall any Contributor be 183 | liable to You for damages, including any direct, indirect, special, 184 | incidental, or consequential damages of any character arising as a 185 | result of this License or out of the use or inability to use the 186 | Work (including but not limited to damages for loss of goodwill, 187 | work stoppage, computer failure or malfunction, or any and all 188 | other commercial damages or losses), even if such Contributor 189 | has been advised of the possibility of such damages. 190 | 191 | 9. Accepting Warranty or Additional Liability. While redistributing 192 | the Work or Derivative Works thereof, You may choose to offer, 193 | and charge a fee for, acceptance of support, warranty, indemnity, 194 | or other liability obligations and/or rights consistent with this 195 | License. However, in accepting such obligations, You may act only 196 | on Your own behalf and on Your sole responsibility, not on behalf 197 | of any other Contributor, and only if You agree to indemnify, 198 | defend, and hold each Contributor harmless for any liability 199 | incurred by, or claims asserted against, such Contributor by reason 200 | of your accepting any such warranty or additional liability. 201 | 202 | Licensed under the Apache License, Version 2.0 (the "License"); 203 | you may not use this file except in compliance with the License. 204 | You may obtain a copy of the License at 205 | 206 | http://www.apache.org/licenses/LICENSE-2.0 207 | 208 | Unless required by applicable law or agreed to in writing, software 209 | distributed under the License is distributed on an "AS IS" BASIS, 210 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 211 | See the License for the specific language governing permissions and 212 | limitations under the License. 213 | --------------------------------------------------------------------------------