First, if you're using Chrome OS, the function you need is built right into your Chromebook: Just open up the system Files app, find the Google Drive section in the left-hand menu, and drag. Google Drive was unable to load your view. On Thursday, July 30, Google co-hosted an online workshop with the Nevada Small Business Development Center and the Connected Commerce Council for Nevada as part of the tech company's ‘Grow.
The Drive API allows you to upload file data when you create or update aFile
. For information on how to create ametadata-only File
, refer to Create files.
There are three types of uploads you can perform:
Simple upload (
uploadType=media
). Use this upload type to quickly transfera small media file (5 MB or less) without supplying metadata. To perform asimple upload, refer to Perform a simple upload.Multipart upload (
uploadType=multipart
). Use this upload type to quicklytransfer a small file (5 MB or less) and metadata that describes the file, in asingle request. To perform a multipart upload, refer toPerform a multipart upload.Resumable upload (
uploadType=resumable
). Use this upload type for largefiles (greater than 5 MB) and when there's a high chance of networkinterruption, such as when creating a file from a mobile app. Resumable uploadsare also a good choice for most applications because they also work for smallfiles at a minimal cost of one additional HTTP request per upload. To perform aresumable upload, refer to Perform a resumable upload.
The Google API client libraries implement at least one of the types of uploads.Refer to the client library documentation for additional details on how to useeach of the types.
Note: In the Drive API documentation, media refers to all available files withMIME types supported for upload to Google Drive. For a list of supported MIMEtypes, refer toGoogle Workspace and Drive MIME types.Note: Users can upload any file type to Drive using the Drive UI and Drive attempts to detect and automatically set the MIME type. Ifthe MIME type can't be detected, the MIME type is set toapplication/octet-stream
.Perform a simple upload
To perform a simple upload, use thefiles.create method withuploadType=media
.The following shows how to perform a simple upload:
HTTP
Create a
POST
request to the method's /upload URI with the queryparameter ofuploadType=media
:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=media
Add the file's data to the request body.
Add these HTTP headers:
Content-Type
. Set to the MIME media type of the object being uploaded.Content-Length
. Set to the number of bytes you upload. This header isnot required if you use chunked transfer encoding.
Send the request. If the request succeeds, the server returns the
HTTP 200 OK
status code along with the file's metadata.
PUT
.When you perform a simple upload, basic metadata is created and some attributesare inferred from the file, such as the MIME type or modifiedTime
. Youcan use a simple upload in cases where you have small files and file metadataisn't important.
Perform a multipart upload
A multipart upload request allows you to send metadata along with the datato upload. Use this option if the data you send is small enough to uploadagain, in its entirety, if the connection fails.
To perform a multipart upload,use the files.create method withuploadType=multipart
.The following shows how to perform a multipart upload:Java
Python
Node.js
HTTP
Create a
POST
request to the method's /upload URI with the queryparameter ofuploadType=multipart
:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart
Create the body of the request. Format the body according to themultipart/related content type [RFC 2387], which contains two parts:
- Metadata. The metadata must come first and must have a
Content-Type
header set toapplication/json;
charset=UTF-8
. Add the file's metadatain JSON format. - Media. The media must come second and must have a
Content-Type
headerof any MIME type. Add the file's data to the media part.
Identify each part with a boundary string, preceded by two hyphens. Inaddition, add two hyphens after the final boundary string.
- Metadata. The metadata must come first and must have a
Add these top-level HTTP headers:
Content-Type
. Set tomultipart/related
and include the boundarystring you're using to identify the different parts of the request. Forexample:Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length
. Set to the total number of bytes in the request body.
Send the request.
To create or update the metadata portion only, without the associated data,send a POST
or PUT
request to the standard resource endpoint:https://www.googleapis.com/drive/v3/files
If the request succeeds,the server returns the HTTP 200 OK
status code along with the file'smetadata.
PUT
.When creating files, files should specify a file extension in thefile's name
field. For example, when creating a photo JPEG file, you mightspecify something like 'name': 'photo.jpg'
in the metadata. Subsequent callsto files.get return the read-onlyfileExtension
property containing the extension originally specified in thename
field.
Perform a resumable upload
A resumable upload allows you to resume an upload operation after acommunication failure interrupts the flow of data. Because you don'thave to restart large file uploads from the start, resumable uploads can alsoreduce your bandwidth usage if there is a network failure.
Resumable uploads are useful when your file sizes mightvary greatly or when there is a fixed time limit for requests (mobile OSbackground tasks and certain AppEngine requests). You might also use resumableuploads for situations where you want to show an upload progress bar.
A resumable upload consists of three high-level steps:
- Send the initial request and retrieve the resumable session URI.
- Upload the data and monitor upload state.
- (optional) If upload is disturbed, resume the upload.
Send the initial request
To initiate aresumable upload, use the files.createmethod withuploadType=resumable
.HTTP
Create a
POST
request to the method's /upload URI with the queryparameter ofuploadType=resumable
:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable
If the initiation request succeeds, the response includes a
200 OK
HTTP status code. In addition, it includes aLocation
header that specifiesthe resumable session URI:You should save the resumable session URI so you can upload the file data andquery the upload status. A resumable session URI expires after one week.
Note: To update an existing file, usePUT
.If you have metadata for the file, add the metadata to the request body inJSON format. Otherwise, leave the request body empty.
Add these HTTP headers:
X-Upload-Content-Type
. Optional. Set to the MIME type of the filedata, which is transferred in subsequent requests. If the MIME type of thedata is not specified in metadata or through this header, the object isserved asapplication/octet-stream.
X-Upload-Content-Length
. Optional. Set to the number of bytes of filedata, which is transferred in subsequent requests.Content-Type
. Required if you have metadata for the file. Set toapplication/json;
charset=UTF-8
.Content-Length
. Required unless you use chunked transfer encoding. Setto the number of bytes in the body of this initial request.
Send the request. If the session initiation request succeeds, the responseincludes a
200 OK HTTP
status code. In addition, the response includes aLocation
header that specifies the resumable session URI. Use the resumablesession URI to upload the file data and query the upload status. A resumablesession URI expires after one week.Copy and save the resumable session URL.
Continue to Uploading content
Upload the content
There are two ways to upload a file with a resumable session:
- Upload content in a single request. Use this approach when the file can be uploaded in one request,if there is no fixed time limit for any single request, or you don't need to display an upload progress indicator.This approach is usually best because it requires fewer requests and results in better performance.
Upload the content in multiple chunks. Use this approach if you need toreduce the amount of data transferred in any single request. You might need toreduce data transferred when there is a fixed time limit for individualrequests, as can be the case for certain classes of Google App Engine requests.This approach is also useful if you need to provide a customizedindicator to show the upload progress.
HTTP - single request
- Create a
PUT
request to the resumable session URI. - Add the file's data to the request body.
- Add a Content-Length HTTP header, set to the number of bytes in the file.
- Send the request. If the upload request is interrupted, or if you receive a5xx response, follow the procedure in Resume an interrupted upload.
HTTP - multiple requests
Create a
PUT
request to the resumable session URI.Add the chunk's data to the request body. Create chunks in multiples of256 KB (256 x 1024 bytes) in size, except for the final chunk that completesthe upload. Keep the chunk size as large as possible so that the upload isefficient.
Add these HTTP headers:
Content-Length
. Set to the number of bytes in the current chunk.Content-Range
. Set to show which bytes in the file you upload. Forexample,Content-Range: bytes 0-524287/2000000
shows that you upload thefirst 524,288 bytes (256 x 1024 x 2) in a 2,000,000 byte file.
Send the request, and process the response. If the upload request isinterrupted, or if you receive a 5xx response, follow the procedure inResume an interrupted upload.
Repeat steps 1 through 4 for each chunk that remains in the file. Use the
Range
header in the response to determine where to start the next chunk. Donot assume that the server received all bytes sent in the previous request.
When the entire file upload is complete, you receive a 200 OK
or201 Created
response, along with any metadata associated with the resource.
Resume an interrupted upload
If an upload request is terminated before a response, or if youreceive a 503 Service Unavailable
response, then you need to resume theinterrupted upload.
HTTP
To request the upload status, create an empty
PUT
request to theresumable session URI.Add a
Content-Range
header to indicate that the current position in thefile is unknown. For example, set theContent-Range
to*/2000000
if yourtotal file length is 2,000,000 bytes. If you don't know the full size of thefile, set theContent-Range
to*/*
.Send the request.
Process the response:
- A
200 OK
or201 Created
response indicates that the upload wascompleted, and no further action is necessary. - A
308 Resume Incomplete
response indicates that you need to continueto upload the file. - A
404 Not Found
response indicates the upload session has expired andthe upload needs to be restarted from the start.
- A
If you received a
308 Resume Incomplete
response, process the response'sRange
header, to determine which bytes the server has received. If theresponse doesn't have aRange
header, no bytes have been received.For example, aRange
header ofbytes=0-42
indicates that the first43 bytes of the file have been received and that the next chunk to uploadwould start with byte 43.Now that you know where to resume the upload, continue to upload the filebeginning with the next byte. Include a
Content-Range
header to indicate which portion of the file you send. Forexample,Content-Range: bytes 43-1999999/2000000
indicates that yousend bytes 43 through 1,999,999.
Handle media upload errors
When you upload media, follow these best practices to handle errors:
- For 5xx errors, resume or retry uploads that fail due to connectioninterruptions. For further information on handling 5xx errors, refer toResolve errors
- For 403 rate limit errors, retry the upload. For further information onhandling 403 rate limit errors, refer toResolve a 403 error: Rate limit exceeded
- For any 4xx errors (including 403) during a resumable upload, restart theupload. These errors indicate the upload session has expired and must berestarted by requesting a new session URI. Upload sessions alsoexpire after 1 week of inactivity.
Import to Google Docs types
When you create a file in Google Drive, you might want to convert the fileinto a Google Workspace file type, such as a GoogleDoc or Sheet. For example, maybe youwant to convert a document from your favorite word processor into a Google Docto take advantage of Google Doc's features.
To convert a file to a specific Google Workspacefile type, specify the Google Workspace mimeType
when creating the file.The following shows how to convert a CSV file to aGoogle Workspace sheet:
To see if a conversion is available, check theAbout resource's importFormats
arrayprior to creating the file. Supported conversions are available dynamicallyin this array. Some common import formats are:
From | To |
---|---|
Microsoft Word, OpenDocument Text, HTML, RTF, plain text | Google Docs |
Microsoft Excel, OpenDocument Spreadsheet, CSV, TSV, plain text | Google Sheets |
Microsoft Powerpoint, OpenDocument Presentation | Google Slides |
JPEG, PNG, GIF, BMP, PDF | Google Docs (embeds the image in a Doc) |
plain text (special MIME type), JSON | Google Apps Script |
When you upload and convert media during an update
request to a Google Doc,Sheet, or Slide, the full contents of the document are replaced.
When you convert an image to a Google doc, Drive uses Optical CharacterRecognition (OCR) to convert the image to text. You can improve the quality ofthe OCR algorithm by specifying theapplicable BCP 47 languagecode in the ocrLanguage
parameter. The extracted text appears in the Google Docs documentalongside the embedded image.
Use a pregenerated ID to upload files
Section 80 Zip Google Drive Maps
The Drive API allows you to retrieve a list of pregenerated file IDsused to upload and create resources. Upload and file creationrequests can use these pregenerated IDs. Set the id
fieldin the file metadata.
To create pregenerated IDs, call file.generateIdswith the number of IDs to create.
You can safely retry uploads with pregenerated IDs in the case of anindeterminate server error or timeout. If the file was successfullycreated, subsequent retries return a HTTP 409
error, they do notcreate duplicate files.
Section 80 Zip Google Drive Mp4
Define indexable text for unknown file types
Users can use the Drive UI to search for document content. You can also use thefile.list and the fullText
field to searchfor content from your app. For further information on searching for files, referto Search for files and folders
Java
Python
Node.js
HTTP
Create a
POST
request to the method's /upload URI with the queryparameter ofuploadType=multipart
:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart
Create the body of the request. Format the body according to themultipart/related content type [RFC 2387], which contains two parts:
- Metadata. The metadata must come first and must have a
Content-Type
header set toapplication/json;
charset=UTF-8
. Add the file's metadatain JSON format. - Media. The media must come second and must have a
Content-Type
headerof any MIME type. Add the file's data to the media part.
Identify each part with a boundary string, preceded by two hyphens. Inaddition, add two hyphens after the final boundary string.
- Metadata. The metadata must come first and must have a
Add these top-level HTTP headers:
Content-Type
. Set tomultipart/related
and include the boundarystring you're using to identify the different parts of the request. Forexample:Content-Type: multipart/related; boundary=foo_bar_baz
Content-Length
. Set to the total number of bytes in the request body.
Send the request.
To create or update the metadata portion only, without the associated data,send a POST
or PUT
request to the standard resource endpoint:https://www.googleapis.com/drive/v3/files
If the request succeeds,the server returns the HTTP 200 OK
status code along with the file'smetadata.
PUT
.When creating files, files should specify a file extension in thefile's name
field. For example, when creating a photo JPEG file, you mightspecify something like 'name': 'photo.jpg'
in the metadata. Subsequent callsto files.get return the read-onlyfileExtension
property containing the extension originally specified in thename
field.
Perform a resumable upload
A resumable upload allows you to resume an upload operation after acommunication failure interrupts the flow of data. Because you don'thave to restart large file uploads from the start, resumable uploads can alsoreduce your bandwidth usage if there is a network failure.
Resumable uploads are useful when your file sizes mightvary greatly or when there is a fixed time limit for requests (mobile OSbackground tasks and certain AppEngine requests). You might also use resumableuploads for situations where you want to show an upload progress bar.
A resumable upload consists of three high-level steps:
- Send the initial request and retrieve the resumable session URI.
- Upload the data and monitor upload state.
- (optional) If upload is disturbed, resume the upload.
Send the initial request
To initiate aresumable upload, use the files.createmethod withuploadType=resumable
.HTTP
Create a
POST
request to the method's /upload URI with the queryparameter ofuploadType=resumable
:POST https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable
If the initiation request succeeds, the response includes a
200 OK
HTTP status code. In addition, it includes aLocation
header that specifiesthe resumable session URI:You should save the resumable session URI so you can upload the file data andquery the upload status. A resumable session URI expires after one week.
Note: To update an existing file, usePUT
.If you have metadata for the file, add the metadata to the request body inJSON format. Otherwise, leave the request body empty.
Add these HTTP headers:
X-Upload-Content-Type
. Optional. Set to the MIME type of the filedata, which is transferred in subsequent requests. If the MIME type of thedata is not specified in metadata or through this header, the object isserved asapplication/octet-stream.
X-Upload-Content-Length
. Optional. Set to the number of bytes of filedata, which is transferred in subsequent requests.Content-Type
. Required if you have metadata for the file. Set toapplication/json;
charset=UTF-8
.Content-Length
. Required unless you use chunked transfer encoding. Setto the number of bytes in the body of this initial request.
Send the request. If the session initiation request succeeds, the responseincludes a
200 OK HTTP
status code. In addition, the response includes aLocation
header that specifies the resumable session URI. Use the resumablesession URI to upload the file data and query the upload status. A resumablesession URI expires after one week.Copy and save the resumable session URL.
Continue to Uploading content
Upload the content
There are two ways to upload a file with a resumable session:
- Upload content in a single request. Use this approach when the file can be uploaded in one request,if there is no fixed time limit for any single request, or you don't need to display an upload progress indicator.This approach is usually best because it requires fewer requests and results in better performance.
Upload the content in multiple chunks. Use this approach if you need toreduce the amount of data transferred in any single request. You might need toreduce data transferred when there is a fixed time limit for individualrequests, as can be the case for certain classes of Google App Engine requests.This approach is also useful if you need to provide a customizedindicator to show the upload progress.
HTTP - single request
- Create a
PUT
request to the resumable session URI. - Add the file's data to the request body.
- Add a Content-Length HTTP header, set to the number of bytes in the file.
- Send the request. If the upload request is interrupted, or if you receive a5xx response, follow the procedure in Resume an interrupted upload.
HTTP - multiple requests
Create a
PUT
request to the resumable session URI.Add the chunk's data to the request body. Create chunks in multiples of256 KB (256 x 1024 bytes) in size, except for the final chunk that completesthe upload. Keep the chunk size as large as possible so that the upload isefficient.
Add these HTTP headers:
Content-Length
. Set to the number of bytes in the current chunk.Content-Range
. Set to show which bytes in the file you upload. Forexample,Content-Range: bytes 0-524287/2000000
shows that you upload thefirst 524,288 bytes (256 x 1024 x 2) in a 2,000,000 byte file.
Send the request, and process the response. If the upload request isinterrupted, or if you receive a 5xx response, follow the procedure inResume an interrupted upload.
Repeat steps 1 through 4 for each chunk that remains in the file. Use the
Range
header in the response to determine where to start the next chunk. Donot assume that the server received all bytes sent in the previous request.
When the entire file upload is complete, you receive a 200 OK
or201 Created
response, along with any metadata associated with the resource.
Resume an interrupted upload
If an upload request is terminated before a response, or if youreceive a 503 Service Unavailable
response, then you need to resume theinterrupted upload.
HTTP
To request the upload status, create an empty
PUT
request to theresumable session URI.Add a
Content-Range
header to indicate that the current position in thefile is unknown. For example, set theContent-Range
to*/2000000
if yourtotal file length is 2,000,000 bytes. If you don't know the full size of thefile, set theContent-Range
to*/*
.Send the request.
Process the response:
- A
200 OK
or201 Created
response indicates that the upload wascompleted, and no further action is necessary. - A
308 Resume Incomplete
response indicates that you need to continueto upload the file. - A
404 Not Found
response indicates the upload session has expired andthe upload needs to be restarted from the start.
- A
If you received a
308 Resume Incomplete
response, process the response'sRange
header, to determine which bytes the server has received. If theresponse doesn't have aRange
header, no bytes have been received.For example, aRange
header ofbytes=0-42
indicates that the first43 bytes of the file have been received and that the next chunk to uploadwould start with byte 43.Now that you know where to resume the upload, continue to upload the filebeginning with the next byte. Include a
Content-Range
header to indicate which portion of the file you send. Forexample,Content-Range: bytes 43-1999999/2000000
indicates that yousend bytes 43 through 1,999,999.
Handle media upload errors
When you upload media, follow these best practices to handle errors:
- For 5xx errors, resume or retry uploads that fail due to connectioninterruptions. For further information on handling 5xx errors, refer toResolve errors
- For 403 rate limit errors, retry the upload. For further information onhandling 403 rate limit errors, refer toResolve a 403 error: Rate limit exceeded
- For any 4xx errors (including 403) during a resumable upload, restart theupload. These errors indicate the upload session has expired and must berestarted by requesting a new session URI. Upload sessions alsoexpire after 1 week of inactivity.
Import to Google Docs types
When you create a file in Google Drive, you might want to convert the fileinto a Google Workspace file type, such as a GoogleDoc or Sheet. For example, maybe youwant to convert a document from your favorite word processor into a Google Docto take advantage of Google Doc's features.
To convert a file to a specific Google Workspacefile type, specify the Google Workspace mimeType
when creating the file.The following shows how to convert a CSV file to aGoogle Workspace sheet:
To see if a conversion is available, check theAbout resource's importFormats
arrayprior to creating the file. Supported conversions are available dynamicallyin this array. Some common import formats are:
From | To |
---|---|
Microsoft Word, OpenDocument Text, HTML, RTF, plain text | Google Docs |
Microsoft Excel, OpenDocument Spreadsheet, CSV, TSV, plain text | Google Sheets |
Microsoft Powerpoint, OpenDocument Presentation | Google Slides |
JPEG, PNG, GIF, BMP, PDF | Google Docs (embeds the image in a Doc) |
plain text (special MIME type), JSON | Google Apps Script |
When you upload and convert media during an update
request to a Google Doc,Sheet, or Slide, the full contents of the document are replaced.
When you convert an image to a Google doc, Drive uses Optical CharacterRecognition (OCR) to convert the image to text. You can improve the quality ofthe OCR algorithm by specifying theapplicable BCP 47 languagecode in the ocrLanguage
parameter. The extracted text appears in the Google Docs documentalongside the embedded image.
Use a pregenerated ID to upload files
Section 80 Zip Google Drive Maps
The Drive API allows you to retrieve a list of pregenerated file IDsused to upload and create resources. Upload and file creationrequests can use these pregenerated IDs. Set the id
fieldin the file metadata.
To create pregenerated IDs, call file.generateIdswith the number of IDs to create.
You can safely retry uploads with pregenerated IDs in the case of anindeterminate server error or timeout. If the file was successfullycreated, subsequent retries return a HTTP 409
error, they do notcreate duplicate files.
Section 80 Zip Google Drive Mp4
Define indexable text for unknown file types
Users can use the Drive UI to search for document content. You can also use thefile.list and the fullText
field to searchfor content from your app. For further information on searching for files, referto Search for files and folders
Here's some text
, then 'Here's sometext' is indexed, but 'value1' is not.To allow content searches, Drive automatically indexes document contents when itrecognizes the file type. Recognized file types include text documents, PDFs,images with text, and other common types. If your app saves files that Drivedoesn't recognize, you should include text in the contentHints.indexableText
field of the file. When specifying indexableText
, keep in mind:
- Ensure you capture key terms and concepts that you expect a user to searchfor.
- The size limit for
contentHints.indexableText
is 128KiB. - You do not need to order the text in order of importance; the indexerdetermines importance.
- Indexable text should be updated by your application with each save.
- Ensure any
indexableText
actually appears in the contents or metadata ofthe file. Don't try to force a file to appear in search results by includingterms that don't appear in the contents or metadata. Users don't like toperform searches that result in files containing irrelevant content.
GApps for Android 11 or Android 11 Gapps files are separated Google apps packagers for Android 11 Custom ROMS. Here in this post, you will get all the latest GApps for Android 11 based custom ROMs such as: AOSP Android 11, LineageOS 18, PE etc. If you are into flashing Custom ROMS then you know about these GApps. These Android 11 GApps file comes in a zip file package which can be flashed through a TWRP recovery or any other custom recovery. All these Gapps zip files are packed with the latest Googe apps which help you to run all the Google Services on your Android 11 custom ROM.
These Days most Android users want to install the Custom ROM on their device. To Install those custom ROMS you need a Custom ROM zip file and Gapps for Android 11 to complete the installations.
Most of the Custom ROMs like Pixel Experience running on Android 11 comes with Google apps preinstalled, while some other ROMs like CarbonROM, ASOP do not have the GApps preinstalled. So users have to install it manually, and in this guide, we will guide you through the entire process.
Table of Contents
- 1 What is GApps?
- 2 Download Android 11 Gapps For ARM / ARM 64 Devices
What is GApps?
As we mentioned above the Gappsis a zip file that contains all the latest Google Service and Apps. Which you can use on your Android 11 Based Custom ROM, so you can easily enjoy all the Google Apps on that Android 11 based Custom ROM.
Needless to say that you can't even use Google apps and services on your Android device if the GApps package isn't installed. Such as Google Play Services, Play Store, Gmail, Google Drive, Docs, Google Keep, Forums, Calendar, Phone, Messages, YouTube, Photos, Maps, etc.
What's Included in the OpenGapps Files
OpenGApps package contains the core Google system base, Google Android Shared Services, off-line speech files, Google Play Store, Google Exchange Services (replaces stock/AOSP Exchange Services), Face Detection for Media, Face Unlock, Dialer Framework, and the following Play Store applications.
– Google App
– Google Framework
– Google Core Apps
– Google Play Services
– Google Phone
– Google Contacts
– Google Calculator
– Google Play Music
– Google Play Games
– YouTube
– Google Drive
– Google Calendar
– Google Chrome
– Google Duo
– GBoard
– Google Maps
– Google TTS
– Google Photos
– Google Messages
– Gmail
– Google Assistant
– Google Lens
– Google Clock
– Pixel Launcher
– Google Play Store
Download Android 11 Gapps For ARM / ARM 64 Devices
Section 80 Zip Google Drive Thru
Below you can find some of the latest links of Android 11 Gapsp which you can download and install the same on your Phone. There are many flavors of the GApps such as: OpenGApps, BiTGApps, ExLiteGapps, FlameGApps, NikGApps, etc. out of which OpenGApps is the most popular one.
NikGApps for Android 11 – ARM64
NikGapps is a bit different than other Gapps packages (written from scratch, it isn't a port of OpenGapps). It focuses on providing apps that most of the people uses but can't find it in other Gapps packages and ends up installing the apps manually. NikGapps comes with the following packages Core, Basic, Omni, Macro, Stock, Full, Go (for low end devices).
BiTGApps for Android 11 – ARM64
BiTGApps is a very minimal and optimized Google Apps package built for Android 11. Designed for better battery optimization, always upto date.
How to Install Android 11 Gapps (Google Apps)
1. Make sure that your phone has the latest TWRP custom Recovery installed.
2. Save the Gapps zip file on your phone's internal memory and remember the location of the zip file.
3. Boot your phone in TWRP recovery mode. Check out our guide here how to boot in Recovery mode. If you want to get right to it, Hold Vol Down + Power for 5 seconds, which should work on most phones.
4. Once your phone booted into TWRP recovery. You should see something like this On your phone Screen.
5. Tap on the Install Button and locate the Android 10 Gapps zip file.
5. Once you are done with selecting the Gapps, simply flash the zip file.
6. Now the Google Apps will install on your phone. Once the flashing process is completed. Reboot System.
So this is the best way to Download the Android 11 GApps Package on your phone. Let us know in the comment section below if you have any queries.