OSGeo4A is a build environment to cross-compile opensource GIS software for android devices

Related tags

App OSGeo4A
Overview

OSGeo4A

This provides a set of scripts to build opensource geo tools for Android.

This is Experimental

Dependencies instructions

Here are more information on building QT5 code for android

Build instructions

Create a file config.conf in the root folder by copying the config.conf.default file and edit it accordingly to your needs.

The build system is maintained for QGIS 3.x releases. Alternatively you may want to clone qgis/QGIS locally and point the config.conf file to your local repository.

cd OSGeo4A 
cp config.conf.default config.conf
# nano config.conf
./distribute.sh -dqgis -mqgis

NDK-r19b

To be able to build with r19b, override the toolchain file in the NDK

sudo mv /opt/android-ndk-r19b/build/cmake/android.toolchain.cmake /opt/android-ndk-r19b/build/cmake/android.toolchain.cmake.old
sudo cp OSGeo4A/tools/android.toolchain.cmake.r19b /opt/android-ndk-r19b/build/cmake/android.toolchain.cmake

for details, see issue 41

MacOS Specific instructions

  • brew install ant

To build on MacOS Mojave 10.14.x, you need java8, not default java 10, since you would get Could not determine java version from '10.0.2' during gradle install step with Qt 5.12.0

  • brew tap homebrew/cask-versions
  • brew cask install adoptopenjdk/openjdk/adoptopenjdk8

To build QGIS, you need relatively new version of bison (3.x). MacOS ships with bison 2.x so it is required to install one newer and add to PATH

  • brew install bison
Comments
  • Could NOT find QtCore

    Could NOT find QtCore

    Greetings to all, recently I wanted to download the QField code, and for this I have to download the OSGeo4A library, I have added the necessary configuration for the execution in the distribute.sh script and everything goes very well until the following error described:

    CMake Warning at /usr/share/cmake-3.10/Modules/FindQt4.cmake:618 (message):
      /usr/bin/qmake-qt4 reported QT_INSTALL_LIBS as "/usr/lib/x86_64-linux-gnu"
      but QtCore could not be found there.  Qt is NOT installed correctly for the
      target build environment.
    Call Stack (most recent call first):
      CMakeLists.txt:78 (find_package)
    
    
    CMake Error at /usr/share/cmake-3.10/Modules/FindQt4.cmake:626 (message):
      Could NOT find QtCore.  Check --
      /home/jlgranda/Desarrollo/pruebas/build-android/build/qca/v2.2.1/build-x86_64/CMakeFiles/CMakeError.log
      for more details.
    Call Stack (most recent call first):
      CMakeLists.txt:78 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/jlgranda/Desarrollo/pruebas/build-android/build/qca/v2.2.1/build-x86_64/CMakeFiles/CMakeOutput.log".
    
    

    In the requirements Qt5 is listed, and when compiling requires Qt4, I have downloaded the qt4-qmake and libqt4-dev libraries to mitigate such error but after that the error described above appears with Qtcore. The operating system I use is Linux Mint 19.2 tina

    opened by dannyrs18 15
  • GDAL installation problem

    GDAL installation problem

    Hello. I try to install QGIS libraries with ./distribute.sh -dqgis -mqgis. GDAL gave error:

    In file included from ./ogrogdi.h:40:
    /usr/include/ogdi/ecs.h:9:10: fatal error: 'rpc/rpc.h' file not found
    

    I installed other recipes, then run this ./distribute.sh -dqgis -mgdal It gave the same error. I tried Ubuntu 19.10 and 18.04 for ArmV7. Here is the log on terminal. I was able to build it 9 months ago, now I cannot build it on the same Ubuntu 18.04 :)

    Platform: Qt 5.12.6, Android NDK r19c, Android SDK 26.1.1

    opened by edips 7
  • libmagic-mgc_5.32-2ubuntu0.1_amd64.deb not found while building with Docker

    libmagic-mgc_5.32-2ubuntu0.1_amd64.deb not found while building with Docker

    When I try to build OSGeo4A with Docker, I get the error:

    Err:1 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libmagic-mgc amd64 1:5.32-2ubuntu0.1
      404  Not Found [IP: 91.189.91.23 80]
    Err:2 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libmagic1 amd64 1:5.32-2ubuntu0.1
      404  Not Found [IP: 91.189.91.23 80]
    Err:3 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 file amd64 1:5.32-2ubuntu0.1
      404  Not Found [IP: 91.189.91.23 80]
    Fetched 179 kB in 1s (165 kB/s)
    E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/libmagic-mgc_5.32-2ubuntu0.1_amd64.deb  404  Not Found [IP: 91.189.91.23 80]
    E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/libmagic1_5.32-2ubuntu0.1_amd64.deb  404  Not Found [IP: 91.189.91.23 80]
    E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/f/file/file_5.32-2ubuntu0.1_amd64.deb  404  Not Found [IP: 91.189.91.23 80]
    E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
    The command '/bin/sh -c apt-get install -y file python3-six zip' returned a non-zero code: 100
    
    opened by edips 6
  • Openssl + crypto

    Openssl + crypto

    Uff this was tricky, since it seems that noone tried to build it with crystax. So few functions missing, etc. Managed finally to have something without threading support and without random function (see openssl FAQ for implications).

    Tried to ask here, let see https://mta.openssl.org/pipermail/openssl-users/2018-September/008860.html

    can be tested with ./distribute -mopenssl -dopenssl

    it is not added to QGIS as dependency (as it isn't ?). but maybe it would be worth to add to travis?

    related to https://github.com/opengisch/OSGeo4A/issues/13

    opened by PeterPetrik 6
  • Update QGIS to latest master revision (to become 3.18)

    Update QGIS to latest master revision (to become 3.18)

    This is needed to fix/improve NMEA's elevation value, as well as prepping the ground for QField 1.9 using QGIS 3.18.

    This will allow us to fix QField compilation against QGIS master too.

    opened by nirvn 5
  • Building error

    Building error

    When I want to build and type " ./distribute.sh -dqgis -mqgis ", this error occurs: "Error: Please report issue to enable support for newer arch ()"

    NDK Version = 19.2.5345600 SDK Version = 21 Qt Version = 5.11.2 Compling environment = Ubuntu 20.xx Config file = https://paste.ubuntu.com/p/wswQrTRs4M/

    I tried ARCHES=("armeabi-v7a" "x86") and ARCHES=("armeabi-v7a")

    opened by berkayoruc 5
  • Update PROJ to 8.0.1

    Update PROJ to 8.0.1

    It's been out there for a while now (7.1 in ubuntu since 20.10, 7.2 in osgeo4win, etc.). Beyond catching the series of projection updates and bug fixes, it unlocks some epoch functionality that will make QField even more accurate.

    opened by nirvn 4
  • cannot build Proj 5.2

    cannot build Proj 5.2

    see https://github.com/OSGeo/proj.4/issues/1235 and mostly https://github.com/OSGeo/proj.4/issues/1236 it seems nad2bin will be removed in Proj version 6, seems to be due in march 2019.

    opened by 3nids 4
  • use openssl 1.0.2 to be able to build qca

    use openssl 1.0.2 to be able to build qca

    we need to use 1.0.2p instead to be able to build qca. https://github.com/openssl/openssl/releases/tag/OpenSSL_1_0_2p

    so various libraries moved to support openssl 1.1.x. Unfortunately it seems qca do not have such attention.

    opened by PeterPetrik 3
  • Install on Mac (Guide readme)

    Install on Mac (Guide readme)

    Hi, In section titled "MacOS Specific instructions" the part that suggest to execute brew tap caskroom/versions raises an error saying :

    Error : caskroom/versions was moved. Tap homebrew/cask-versions instead.

    So it should be replaced with brew tap homebrew/cask-versions.

    and the next line (brew cask install java8) raises the following error

    Error: Cask 'java8' is unavailable: No Cask with this name exists.

    So it should also be replaced with brew cask install adoptopenjdk/openjdk/adoptopenjdk8 as well.

    I was going to edit Readme.md and request a post but I couldn't do that (there is no edit on the page Readme.md)

    Hope that helps someone and thanks for this awesome repo.

    Cheers, Iman

    TLDR: Please edit Readme.md with these :

    brew tap homebrew/cask-versions brew cask install adoptopenjdk/openjdk/adoptopenjdk8

    opened by imanhn 2
  • *** No rule to make targe**

    *** No rule to make targe**

    *** No rule to make target /xxxxxx/build-android/build/qgis/7d58502b3b0a615ba1f6a4a8adab5465e18caf56/resources/function_help/json/$$area', needed bysrc/core/qgsexpression_texts.cpp'. Stop.

    build on macOS catalina, QT 5.15.0

    opened by captainsetro 2
  • xamarin forms DllImport failing

    xamarin forms DllImport failing

    I'm having trouble loading the proj v8 library in my Xamarin forms app. Getting DllNotFOundException. I pulled the so files from the 20210911 release.

    I have a proj 5.1.0 lib that loads and works. The file format is libproj.so: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, with debug_info, not stripped

    The format of the files I pulled from this repo's release is: libproj.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[xxHash]=65bf5fb7e3983b48, with debug_info, not stripped

    Is it related to the file format? If so, is there a way to build the so files to match my working format?

    opened by mludlum 0
  • Support WMTS data format

    Support WMTS data format

    WMTS is better for mobile work than WMS because tiles are pre-rendered on the server side and cached on the client side - less time and data. It is planned to add WMTS support?

    opened by romainbh 0
  • Error during PROJ lib compilation

    Error during PROJ lib compilation

    Hi, I was trying to compile QGIS using distribute.sh script (tried with arguments -m 'qgis' and -dqgis -mqgis) and i got this error: terminal_output There are log files mentioned in terminal output: CMakeOutput.log CMakeError.log

    In CMakeError.log I found some interesting lines like: warning: implicit declaration of function 'pthread_cancel' is invalid in C99 [-Wimplicit-function-declaration] ld.lld: error: undefined symbol: pthread_cancel ld.lld: error: unable to find library -lpthread

    Unfortunately I couldn't find any straightforward solution for these errors on the internet so i am asking here for help.

    I am developing on Debian (bullseye) for desktop and my Android SDK an NDK was setup by QtCreator. I also tried few most recent releases of OSGeo4A as well as master branch with no difference.

    This is my config.conf file.

    My main goal right now is to debug QField, so any feedback on this topic would by highly appreciated!

    With regards, Daniel

    opened by kunickyd 0
  • can not compile or get it from docker

    can not compile or get it from docker

    Hi,

    The "Build instructions" using CMAKE is old (according to Matthias). I have been trying to make it work but I couldn't (I really tried hard!).

    After getting disappointed with CMAKE compilation, I went to try the Docker image. However, I have been trying to download the image from docker hub with no luck for about two month and more than 10 attempts. Since docker does not support a resume mechanism (which is a shame) and the image is fairly big (3.4GB) to download without a tiny disconnection. I couldn't download the image. So direct pull from docker is not really an option here.

    So I really appreciate if someone could either update the "Build instructions" or pick one of the stable versions from docker hub save it (docker save ) and upload it somewhere on the internet.

    I believe many others like me have this problem and can not really contribute to the project.

    Regards, Iman

    opened by imanhn 1
  • geotiff with jpeg compression

    geotiff with jpeg compression

    geotiff with jpeg compression is not implemented yet. (https://qfield.org/docs/project-management/dataformat.html)

    It there a plan to add this feature?

    opened by felix-ht 4
Releases(20211106)
Owner
OPENGIS.ch
QGIS, QField and other exciting challenges
OPENGIS.ch
An android app to browse KDE Store and other Linux Desktop Environment stores of Pling

A free and open source android application for browsing KDE Store and other Linux Desktop Environment's Stores in Pling. Couldn't check it in different devices so there could be some bugs. Bug Report and Feedbacks are highly appreciated.

null 14 Dec 27, 2022
An Android Library for in-app switching between environment variables

android-env-picker An Android Library for in-app switching between environment variables. Central use case is picking a desired endpoint for backend c

Bayerischer Rundfunk 8 May 1, 2022
Termux - an Android terminal application and Linux environment

Termux application Termux is an Android terminal application and Linux environment. Note that this repository is for the app itself (the user interfac

Termux 18.4k Jan 3, 2023
This software was developed using an Agile and TDD methodology

VM-EmpDirectory Software Development Approach This software was developed using

null 0 Dec 22, 2021
Copylefted libre software (GPLv3+) card management app

Catima Copylefted libre software (GPLv3+) card management app. Logo by Rose (TangentFoxy) Stores your store loyalty and membership cards on your devic

Catima 402 Jan 4, 2023
Game project in TDT4240 Software Architecture

Star Battle NTNU Intergalactic space warfare - Game project in TDT4240 Software Architecture View Demo Table of Contents About the Project Tech Stack

William H. Le 3 Sep 28, 2022
📱 Andriller - is software utility with a collection of forensic tools for smartphones

Andriller - is software utility with a collection of forensic tools for smartphones. It performs read-only, forensically sound, non-destructive acquisition from Android devices. It has features, such as powerful Lockscreen cracking for Pattern, PIN code, or Password; custom decoders for Apps data from Android (some Apple iOS & Windows) databases for decoding communications. Extraction and decoders produce reports in HTML and Excel formats.

Denis Sazonov 980 Dec 27, 2022
Design patterns are typical solutions to common problems in software design

Design patterns are typical solutions to common problems in software design. Each pattern is like a blueprint that you can customize to solve a particular design problem in your code.

hamid 4 Aug 30, 2022
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

Ionic Ionic is an open source app development toolkit for building modern, fast, top-quality cross-platform native and Progressive Web Apps from a sin

Ionic 48.4k Jan 3, 2023
Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains

Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains. This application allows you to sign transactions on the block chain, share your DID and Verifiable Credentials containing your identity with others in a consensual way and log into web2 and web3 applications. If you lose your phone several mechanisms exist to allow you to recover your account without trusting anyone with custody of your private keys.

null 7 Dec 24, 2022
CoolReader 3 - cross platform open source e-book reader

CoolReader 3 - cross platform open source e-book reader (c) Vadim Lopatin, 1998-2018 Development is moved to GitHub https://github.com/buggins/coo

Vadim Lopatin 302 Jan 4, 2023
Cross-plaform desktop manga downloader

Kotatsu-dl Cross-platform desktop application to download manga from various services Installation Arch linux Package kotatsu-dl-git is available on A

Koitharu 23 Jan 4, 2023
A Kotlin binding to webview, a tiny cross-platform webview library, supports Java and Native.

webviewko provides a Kotlin/JVM and a Kotlin/Native(experimental) binding to webview, a tiny cross-platform webview library to build modern cross-platform GUIs using WebView2, WebKit and WebKitGTK.

Winterreisender 17 Dec 30, 2022
An easy, cross-platform method of keeping track of other people's timezones

TimezoneDB TimezoneDB is an easy, cross-platform method of keeping track of others' timezones. This project is inspired by PronounDB, and we'd like to

Synapse Technologies, LLC 13 Nov 16, 2022
SnapChat-Clone - The android studio project for a snapchat clone for android devices

SnapChat-Clone This is the android studio project for a snapchat clone for andro

Ujjwal Sharma 0 Jan 30, 2022
Ankiconnect Android allows you to utilize the standard Anki mining workflow on Android devices like phones and eReaders

Ankiconnect Android Ankiconnect Android allows you to utilize the standard Anki mining workflow on Android devices like phones and eReaders. Create An

Kamron Bhavnagri 29 Dec 28, 2022
Ground Control Station for Android Devices

Tower Tower is a Ground Control Station (GCS) Android app built atop DroneKit-Android, for UAVs running Ardupilot software. Usage Guide The wiki has s

DroidPlanner 593 Dec 30, 2022