2013-09-22 00:08:40 +02:00
|
|
|
F-Droid Client
|
|
|
|
==============
|
|
|
|
|
2015-09-12 14:06:46 -07:00
|
|
|
[](https://ci.gitlab.com/projects/6571?ref=master) [](https://hosted.weblate.org/engage/f-droid/)
|
2015-08-26 21:56:36 -07:00
|
|
|
|
2015-08-20 10:06:01 -07:00
|
|
|
Client for [F-Droid](https://f-droid.org), the Free Software repository system
|
2013-09-22 00:08:40 +02:00
|
|
|
for Android.
|
|
|
|
|
2015-08-24 10:34:06 -07:00
|
|
|
Building with Gradle
|
|
|
|
--------------------
|
2013-09-22 00:08:40 +02:00
|
|
|
|
2015-09-09 18:32:56 -07:00
|
|
|
The only required tools are the [Android SDK](https://developer.android.com/sdk/index.html)
|
2015-09-03 17:07:55 -07:00
|
|
|
and Gradle.
|
2015-06-24 00:01:51 +02:00
|
|
|
|
|
|
|
You should use a relatively new version of Gradle, such as 2.4, or use the
|
|
|
|
gradle wrapper.
|
|
|
|
|
|
|
|
Once you have checked out the version you wish to build, run:
|
2015-01-21 10:05:20 +01:00
|
|
|
|
2015-08-16 17:32:48 +02:00
|
|
|
cd F-Droid
|
|
|
|
gradle assembleRelease
|
2015-08-05 16:53:42 -07:00
|
|
|
|
|
|
|
The resulting apk will be in `build/outputs/apk/`.
|
2015-01-21 10:05:20 +01:00
|
|
|
|
|
|
|
Android Studio
|
|
|
|
--------------
|
|
|
|
|
|
|
|
From Android Studio: File -> Import Project -> Select the cloned top folder
|
|
|
|
|
2013-09-22 00:08:40 +02:00
|
|
|
|
2015-08-05 16:53:42 -07:00
|
|
|
Building tips
|
|
|
|
-------------
|
|
|
|
|
|
|
|
* Use `gradle --daemon` if you are going to build F-Droid multiple times.
|
|
|
|
* If you get a message like `Could not find com.android.support:support-...`,
|
2015-09-09 18:32:56 -07:00
|
|
|
make sure that you have the latest Android support maven repository.
|
2015-08-05 16:53:42 -07:00
|
|
|
|
2013-09-22 00:08:40 +02:00
|
|
|
Direct download
|
|
|
|
---------------
|
|
|
|
|
2013-09-22 00:43:31 +02:00
|
|
|
You can [download the application](https://f-droid.org/FDroid.apk) directly
|
2015-08-24 10:34:06 -07:00
|
|
|
from our site or [browse it in the repo](https://f-droid.org/app/org.fdroid.fdroid).
|
2013-09-22 00:08:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
Contributing
|
|
|
|
------------
|
|
|
|
|
2014-12-31 11:05:52 +01:00
|
|
|
You are welcome to submit
|
|
|
|
[Merge Requests](https://gitlab.com/fdroid/fdroidclient/merge_requests)
|
|
|
|
via the Gitlab web interface. You can also follow our
|
2015-08-20 10:05:47 -07:00
|
|
|
[Issue tracker](https://gitlab.com/fdroid/fdroidclient/issues) and our
|
|
|
|
[Forums](https://f-droid.org/forums).
|
2013-09-22 00:08:40 +02:00
|
|
|
|
2015-08-26 20:07:03 -07:00
|
|
|
Also see our [Contributing doc](CONTRIBUTING.md).
|
|
|
|
|
2013-09-22 00:08:40 +02:00
|
|
|
|
2013-10-25 21:11:40 +02:00
|
|
|
Translating
|
|
|
|
-----------
|
|
|
|
|
2014-02-10 09:37:03 +01:00
|
|
|
The `res/values-*` dirs are kept up to date automatically via [MediaWiki's
|
2015-09-09 18:32:56 -07:00
|
|
|
Translate Extension](https://www.mediawiki.org/wiki/Extension:Translate). See
|
2014-02-10 09:37:03 +01:00
|
|
|
[our translation page](https://f-droid.org/wiki/page/Special:Translate) if you
|
|
|
|
would like to contribute.
|
2013-10-25 21:11:40 +02:00
|
|
|
|
2014-02-13 23:28:31 -05:00
|
|
|
|
|
|
|
Running the test suite
|
|
|
|
----------------------
|
|
|
|
|
2015-06-24 16:06:14 +10:00
|
|
|
In order to run the F-Droid test suite, you will need to have either a real device
|
|
|
|
connected via `adb`, or an emulator running. Then, execute the following from the
|
|
|
|
command line:
|
|
|
|
|
2015-09-03 17:07:55 -07:00
|
|
|
gradle connectedCheck
|
2015-06-24 16:06:14 +10:00
|
|
|
|
|
|
|
This will build and install F-Droid and the test apk, then execute the entire
|
|
|
|
test suite on the device or emulator.
|
|
|
|
|
2015-09-03 17:07:55 -07:00
|
|
|
See the [Android Gradle user guide](http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing)
|
2015-07-21 11:06:13 -07:00
|
|
|
for more details, including how to use Android Studio to run tests (which
|
|
|
|
provides more useful feedback than the command line).
|
2015-06-24 16:06:14 +10:00
|
|
|
|
2014-04-26 07:52:18 +09:30
|
|
|
|
2015-07-21 11:06:34 -07:00
|
|
|
Versioning
|
|
|
|
----------
|
|
|
|
|
2015-07-21 11:48:09 -07:00
|
|
|
Each stable version follows the `X.Y` pattern. Hotfix releases - i.e. when a
|
2015-07-21 11:06:34 -07:00
|
|
|
stable has an important bug that needs immediate fixing - will follow the
|
2015-07-21 11:48:09 -07:00
|
|
|
`X.Y.Z` pattern.
|
2015-07-21 11:06:34 -07:00
|
|
|
|
|
|
|
Before each stable release, a number of alpha releases will be released. They
|
2015-07-21 11:48:09 -07:00
|
|
|
will follow the pattern `X.Y-alphaN`, where `N` is the current alpha number.
|
|
|
|
These will usually include changes and new features that have not been tested
|
|
|
|
enough for a stable release, so use at your own risk. Testers and reporters
|
|
|
|
are very welcome.
|
2015-07-21 11:06:34 -07:00
|
|
|
|
|
|
|
The version codes use a number of digits per each of these keys: `XYYZNN`.
|
2015-08-04 14:35:46 -07:00
|
|
|
So for example, 1.3.1 would be `103150` and 0.95-alpha13 would be `95013`
|
2015-07-21 11:06:34 -07:00
|
|
|
(leading zeros are omitted).
|
|
|
|
|
2015-08-04 14:35:46 -07:00
|
|
|
Note that we use a trailing `50` for actual stable releases, so alphas are
|
|
|
|
limited to `-alpha49`.
|
|
|
|
|
2015-09-02 17:53:53 -07:00
|
|
|
This is an example of a release process for **0.95**:
|
2015-07-21 11:06:34 -07:00
|
|
|
|
|
|
|
* We are currently at stable **0.94**
|
|
|
|
* **0.95-alpha1** is released
|
|
|
|
* **0.95-alpha2** is released
|
|
|
|
* **0.95-alpha3** is released
|
2015-09-02 17:53:53 -07:00
|
|
|
* `stable-v0.95` is branched and frozen
|
2015-07-21 11:06:34 -07:00
|
|
|
* **0.95** is released
|
|
|
|
* A bug is reported on the stable release and fixed
|
2015-09-02 17:53:53 -07:00
|
|
|
* **0.95.1** is released with only that fix
|
|
|
|
|
|
|
|
As soon as a stable is tagged, master will move on to `-alpha0` on the next
|
|
|
|
version. This is a temporary measure - until `-alpha1` is released - so that
|
|
|
|
moving from stable to master doesn't require a downgrade. `-alpha0` versions
|
|
|
|
will not be tagged nor released.
|
2015-07-21 11:06:34 -07:00
|
|
|
|
|
|
|
|
2013-09-22 00:08:40 +02:00
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
This program is Free Software: You can use, study share and improve it at your
|
|
|
|
will. Specifically you can redistribute and/or modify it under the terms of the
|
|
|
|
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
|
|
|
|
published by the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
2015-06-02 22:33:53 +02:00
|
|
|
|
|
|
|
Some icons are made by [Picol](http://www.flaticon.com/authors/picol),
|
|
|
|
[Icomoon](http://www.flaticon.com/authors/icomoon) or
|
|
|
|
[Dave Gandy](http://www.flaticon.com/authors/dave-gandy) from
|
2015-06-14 13:58:59 +02:00
|
|
|
[Flaticon](http://www.flaticon.com) or by Google and are licensed by
|
2015-09-09 18:32:56 -07:00
|
|
|
[Creative Commons BY 3.0](https://creativecommons.org/licenses/by/3.0/).
|
2015-05-11 23:04:33 +10:00
|
|
|
|
|
|
|
Other icons are from the
|
|
|
|
[Material Design Icon set](https://github.com/google/material-design-icons)
|
|
|
|
released under an
|
2015-09-09 18:32:56 -07:00
|
|
|
[Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/).
|