Home Articles Compliance Android App Filing (ICP) in China: 8 Steps and 6 Pitfalls to Avoid

Table of contents

  • Quick nav

Was this helpful?

Share it with someone who needs it.

Android App Filing (ICP) in China: 8 Steps and 6 Pitfalls to Avoid

A
AppShot Maker
5/28/2026
Android App Filing (ICP) in China: 8 Steps and 6 Pitfalls to Avoid

Bottom line first: without filing, your Android app can't go live

In September 2023, China's Ministry of Industry and Information Technology (MIIT, 工信部) issued a notice requiring every app that provides internet information services within China to complete filing. The transition period for existing apps ended at the end of March 2024, and now all the major Android app stores (Huawei, Xiaomi, OPPO, vivo and Tencent MyApp/应用宝) require a filing number before an app can be published.

For overseas developers: "app filing" (APP备案) is the app equivalent of the ICP filing that websites hosted in mainland China need. In China, Android apps are distributed mainly through these phone-maker and platform stores rather than Google Play.

No filing number = no store listing = users can't download your app.

And it's not a mere formality. Android app filing involves three key items, the package name, public key and signature MD5, and getting any one wrong fails review. This article covers the whole process and its pitfalls in one go.

Does your app actually need filing?

Needs filing:

  • Android apps with servers in mainland China (the most common case)
  • Apps that provide information services to users over the public internet
  • Utility, social, e-commerce and other apps with online features

Doesn't need filing:

  • Purely offline apps: no connection to the public internet, no internet information services
  • Overseas apps: operated by an entity outside China, with servers located only outside China

Grey areas: if your app makes any network requests at all (even update checks or analytics events), it doesn't count as an offline app and needs filing.

The three key items: package name, public key, signature MD5

These are the core technical details for Android app filing, and many people get stuck here. First understand what they are and how to get them.

ItemWhat it isWhere to find itFormat
Package nameThe app's unique identifier, e.g. com.example.myappapplicationId in build.gradle, or the package attribute in AndroidManifest.xmlReverse domain format
Public keyThe public key of the signing certificateOpen the APK in Jadx-GUI and look at the Modulus under APK signatureDecimal or hexadecimal
Signature MD5The digital fingerprint of the signing certificatekeytool -list -v -keystore xxx.keystore, or the MD5 under APK signature in Jadx-GUIHexadecimal, colons removed

Method 1: keytool on the command line (recommended)

# View signing info, including MD5 and SHA1
keytool -list -v -keystore your_keystore.jks

# Example output:
# MD5: A1:B2:C3:D4:E5:F6:...
# SHA1: ...
# SHA256: ...
# Public key (Modulus): a very long number

Method 2: Jadx-GUI

  1. Download Jadx-GUI and open your APK file
  2. Package name: check the package attribute in AndroidManifest.xml
  3. Public key and MD5: look at APK signature; the modulus is the public key, and the MD5 is the signature fingerprint

Method 3: online parsing tools

If you don't want to install anything, you can use an online APK parsing tool (such as appuploader): upload the APK and get the package name, public key, signature and more in one click. Good for non-developers.

⚠️ Important: remove the colons from the signature MD5 and keep only the hex characters. For example, if the MD5 shows as A1:B2:C3:D4, enter A1B2C3D4 when filing.

The full process: 8 steps to file an Android app

Step 1: Decide the filing entity

A company entity is preferred: filing entity = software copyright holder = developer account company entity. All three must match.

Individual developers can file with an ID card, but some app stores restrict individual developers (for example, finance apps are basically not allowed from individuals).

Step 2: Prepare materials

MaterialCorporate developersIndividual developers
Entity credentialsScan of business license (valid original)Front and back of ID card + photo holding ID card
Legal representative / responsible personID card + phone number + emailSame as left
Server informationPublic IP / domain, under the access provider's accountSame as left
App informationName, icon, package name, public key, signature MD5Same as left
Privacy policyPrivacy policy URL (must be accessible)Same as left
Software copyrightComputer software copyright registration certificate (软著)Required by some stores
Special industriesPrior approval documents (news / medical / education, etc.)Same as left

Note: the server must be provided by the filing access provider. If you use Alibaba Cloud servers, file through Alibaba Cloud; if you use Tencent Cloud, file through Tencent Cloud.

Step 3: Choose an access provider and sign in to the filing system

For overseas developers: in China, filing is submitted through your cloud or hosting provider (the "access provider", 接入商), which forwards it to the authorities.

Main access providers and portals:

ProviderFiling portalNotes
Alibaba Cloudbeian.aliyun.comMost complete process, most tutorials
Tencent Cloudcloud.tencent.com/product/ba1–2 day initial review, efficient
Huawei Cloudsupport.huaweicloud.comFirst choice for the HarmonyOS ecosystem
China Telecom Cloud (Tianyi Cloud)ctyun.cnGood on China Telecom networks
China Mobile Cloudecloud.10086.cnGood on China Mobile networks
China Unicom Cloudcucloud.cnGood on China Unicom networks

Rule of thumb: whichever cloud your server is on, use that provider as your access provider. This is a hard requirement.

Step 4: Fill in the filing information

After signing in to the provider's filing system, fill in each step:

1. Entity information

Companies enter business license details; individuals enter ID card details. Watch out for easily confused characters in ID numbers:

  • Digit "5" vs letter "S"
  • Digit "1" vs letter "I"
  • Digit "0" vs letter "O"

A mistake fails validation immediately; it's the most common basic error.

2. Basic app information

  • App name: exactly the same as the store listing name
  • App icon: same as the published version
  • Cloud service / server information: choose your server provider
  • App content category: choose based on actual features
  • App language: Chinese, English, etc.
  • Whether you provide an SDK to third parties: usually "No"
  • App backend service domain: enter your backend API domain

3. Platform information (key step)

Select the "Android" platform and enter:

  • Package name
  • Public key (decimal or hexadecimal)
  • Signature MD5 (hex, colons removed)
  • Android platform backend domain

If your app also has an iOS version, select iOS too and enter the Bundle ID, public key and signature SHA-1.

If your app also has a HarmonyOS version, select the "HarmonyOS" platform and enter the HarmonyOS package name (for details see my HarmonyOS app filing guide).

4. App responsible person

Enter the responsible person's name, ID number, phone number, emergency phone number and email. This person will need to take part in face verification.

Step 5: Access provider's initial review

Within 1–2 business days after submission, the provider will verify by phone. Note:

  • Keep your phone available; missing the call may lead to rejection
  • The provider may ask about your app's basic features, what the servers are used for, etc.; answer truthfully
  • If the initial review fails, you'll be told why; fix it and resubmit

Step 6: Face verification

Some providers require the legal representative or app responsible person to complete facial recognition. Follow the system's instructions and verify by scanning a code with WeChat or through an app.

Step 7: MIIT SMS verification

After the initial review passes and the filing is submitted to the provincial authority, the filing phone number will receive an MIIT verification code by SMS within 24 hours.

Sign in to the MIIT filing management system to complete verification. Missing the deadline may lead to rejection, so verify as soon as you get the SMS.

Step 8: Final review by the provincial authority + get your filing number

The provincial communications administration reviews the filing within a statutory limit of 20 business days; in practice it usually takes 15–20 days. Once approved, you'll receive your filing number by email and phone.

Example filing number format: 京ICP备2024XXXXXX号-1A

After filing: enter your filing information in each app store

After getting your filing number, you still need to enter the filing information in each Android store's developer console. Using Huawei AppGallery as an example:

  1. Sign in to AppGallery Connect
  2. Go to the app information page
  3. Find the "Approval (filing) information" section
  4. Select "Your app's servers are in mainland China"
  5. Enter the sponsor type (company / individual)
  6. Confirm whether the sponsor matches the developer account entity
  7. Submit for validation

Other stores (Xiaomi, OPPO, vivo, Tencent MyApp) work similarly: fill in the "Filing information" field on the submission page.

The six most common pitfalls

Pitfall 1: Filing entity doesn't match the developer account entity

This is the top reason for rejection. Remember this formula:

Filing entity = software copyright holder = developer account company entity

All three must match; any discrepancy will get you sent back.

Pitfall 2: Entering SHA1 or SHA256 instead of the signature MD5

Android takes MD5, iOS takes SHA-1, HarmonyOS takes the SHA256 fingerprint. Don't mix them up. And remove the colons from the MD5, keeping only hex characters.

Pitfall 3: Changing the signing certificate after filing

Once the signing certificate changes, the new MD5 and public key no longer match the filing, and you need to file a change (15–30 days). So keep your signing certificate safe; losing it and re-signing is costly.

Pitfall 4: Assuming the app doesn't need filing because the domain already has ICP filing

Website filing and app filing are two separate systems with different number formats. Even if your domain has ICP filing, the app must be filed separately.

Pitfall 5: Privacy policy URL not accessible

Filing requires a privacy policy URL that must be accessible. A 404 page will get your filing sent back. Use a cloud hosting service for reliable availability.

Pitfall 6: Not updating filing information after changes

After changing the app name, features or entity information, you need to file a change within 30 days. Package name changes in particular must be filed with your access provider, or filing validation in each store will fail.

Filing timelines by provider

StageAlibaba CloudTencent CloudHuawei Cloud
Provider initial review1 business day1–2 business days1–2 business days
SMS verificationWithin 24 hoursWithin 24 hoursWithin 24 hours
Provincial final review7–20 business days15–20 business days15–20 business days
OverallAbout 8–22 business daysAbout 17–22 business daysAbout 17–22 business days

Review speed varies by province; Beijing, Shanghai, Guangzhou and Shenzhen are usually faster, while remote provinces may be slower.

Post-filing maintenance checklist

TaskFrequencyNotes
Display the filing numberImmediatelyShow it on the app's "Settings – About us" page, linking to the MIIT lookup system
Annual verificationYearlyComplete filing information verification on time to keep it accurate and valid
Filing changesWithin 30 days of a changeSubmit changes to app name, package name, entity, etc. promptly
Public display of the filing numberImmediatelyAlso show the filing number at the bottom of your app's website

Final thoughts

Android app filing is essentially "getting your app an ID card". The process isn't complicated, but preparing materials and entering the three key items leave no room for carelessness.

A few key suggestions:

  1. Settle the package name and signing certificate during development; changing the package name later costs far more than getting it right at the start
  2. Run software copyright registration and filing in parallel; both take a long time (software copyright 1–2 months, filing about 20 days), so don't wait for one before starting the other
  3. Once you've chosen a server provider, don't switch; switching providers requires an access filing, which is another full cycle
  4. Back up your signing certificate; if you lose it, you'll have to file again

Filing is your ticket to the store, not an option. The sooner you file, the sooner you can relax; don't wait until a rejection to discover you're not filed.


Sources: Huawei app filing guide, Alibaba Cloud app filing process, Tencent Cloud app filing guide, China Telecom Cloud app characteristic information, MIIT app filing notice

Ready to design your store screenshots?

Try AppShotMaker and turn raw captures into store-ready screenshots in minutes.