Official Content

In Android, packing just the minimum necessary classes is of great importance for two main reasons:

  • The Dalvik Virtual Machine establishes a maximum of 64 thousand Java methods for each indexed file. Since the final application package is composed of a big index of all the classes and resources, each dependency adds to this count.

  • The final application size. For very simple applications, it may cause concern for users if they see that the application occupies a lot more space than they expected for no apparent reason.

As explained in the External utilities used by GeneXus generated Native Mobile applications document, it is possible to split the dependencies into necessary and optional dependencies.

Note: In Android projects, external dependencies could be either AAR libraries, Project libraries, or JAR libraries.

Necessary dependencies

AAR libraries

Name License Type Usage
AndroidX Libraries Apache License 2.0 Include Android Jetpack libraries
Google Play Services Base  Android SDK Licence Common Google services
Gson  Apache License 2.0 To convert Java Objects into their JSON representation
OkHttp Apache License 2.0 Http for modern applications network

Jar libraries

Name License Type Usage
SqlDroid Eclipse Public License 1.0 JDBC driver for SQLite databases
YouTube Player API Apache License 2.0 Incorporate video playback functionality into your Android applications

Optional Dependencies

Project libraries

Name License Type Usage
MPAndroidChart Apache License 2.0 Chart controls
Android Billing Library Apache License 2.0 In-app purchases
ViewPagerIndicator Apache License 2.0 Shows current and count of pages for the "SD Paged Grid" control
Spinner Apache License 2.0 For DateTime pickers and SDWheels
Facebook Apache License 2.0 "Facebook" External Object
Twitter4j Apache License 2.0 "Twitter" External Object
Baidu Maps   Android Maps API for Baidu maps
Gaode Maps   Android Maps API for AutoNavi maps
SQLCipher BSD-style Licence Offline Database encryption
iText 5.x Commercial or AGPL License PDF Reports
Google Admob Ads Google Developers Site Terms of Service Advertising
Google Analytics Android SDK Licence Google Analytics 
Lottie

MIT License

Animation using Lottie
Firebase Apache License 2.0 Firebase Analytics, Crashlytics, MLKit, Remote Config.
FlexBox Apache License 2.0 Flex Layout
Google Play Services Android SDK Licence Google Maps and Location services

Huawei HMS

Apache License 2.0 Huawei generator
MapBox

BSD 2-Clause "Simplified" License

Maps for MapBox
OneSignal Apache License 2.0 Notification with OneSignal provider.
Jpush

MIT License

Notification with JPush provider.

See also



Last update: February 2024 | © GeneXus. All rights reserved. GeneXus Powered by Globant