Stay organized with collections Save and categorize content based on your preferences.
This page describes how to generate a client library from your backend server API by using the Endpoints Frameworks command-line tool. Any Java or Android app can use this library to call the API.
You can generate client library bundles that allow applications to access your API using the Endpoints Frameworks command-line tool. When you generate a client library, the Endpoints Frameworks command-line tool automatically generates a Discovery document that describes the surface of your API.
To get the Endpoints Frameworks command-line tool, download endpoints-framework-tools
from the Maven Central Repository. After you extract the contents of the zip file, the tool is in the endpoints-framework-tools-2.2.1/bin/
directory.
You can use the Endpoints Frameworks command-line tool to generate the following types of client bundles:
Maven: This bundle includes a pom.xml
file with the Endpoints Frameworks and Google API Client Library dependencies. The readme.html
file provides detailed information on what you need to add to your pom.xml
file for different types of client applications and how to build a client library for your API using Maven.
Gradle: This bundle includes a build.gradle
file with the Endpoints Frameworks and Google API Client Library dependencies. The readme.html
file provides detailed information on what you need to add to your build.gradle
file for different types of client applications and how to build a client library for your API using Gradle.
Default client bundle: This bundle contains all the dependency libraries and the generated source.jar
file, which is the Java library that you use in your client to call your API. This bundle provides your client with all of the Google API Client Library capabilities, including OAuth. The readme.html
file lists the .jar
files that are required for different types of client applications and other details for using the client library.
If you are using the client library with an Android app, we recommend that you use a Gradle client bundle.
Command-line syntaxBefore you use the Endpoints Frameworks command-line tool, you must build your backend project because this tool requires compiled binaries. You can optionally supply the --war=
option pointing to the build target output directory containing the WEB-INF
directory and compiled java classes if you don't want to use the default (--war="./war"
).
The basic syntax is as follows:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \ get-client-lib OPTIONS CLASS_NAME
where:
OPTIONS
, if supplied, is one or more items shown in the Options table.CLASS_NAME
is the fully qualified class name of your API.For example:
/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \
get-client-lib --war=target/echo-1.0-SNAPSHOT -bs gradle com.example.echo.Echo
where target/echo-1.0-SNAPSHOT
is the relative or absolute path to the target build directory containing WEB-INF
and the compiled backend classes.
You can use the following options:
Option name Description Examplebuild-system
Lets you specify which type of client bundle should be produced. Specify gradle
for a Gradle client bundle for Android, maven
for a Maven client bundle, or default
(or simply omit this option) for a bundle that contains only the dependency libraries and source jar. --build-system=gradle
-bs gradle
war
Sets the path to the build target directory WEB-INF
that contains appengine-web.xml
and other metadata.
./war
. --war=target/echo-1.0-SNAPSHOT
-w target/echo-1.0-SNAPSHOT
output
Sets the directory where the output is written to.
--output=/mydir
-o /mydir
Supported client platforms
The following platforms are supported in the client bundle produced by the Endpoints Frameworks command-line tool:
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["The Endpoints Frameworks command-line tool generates client library bundles, enabling Java or Android apps to access backend server APIs."],["This tool automatically generates a Discovery document that outlines the API's structure, which is crucial for client interactions."],["Client library bundles can be generated in Maven, Gradle, or default formats, with each format catering to different project setups and providing necessary dependencies and build instructions."],["The command-line tool requires compiled backend project binaries and allows options for specifying the build system, war directory, and output location, making customization easy."],["The generated client libraries are compatible with Java 7+, Android 1.6+, and App Engine, ensuring wide applicability."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4