Package Name — mi ez, fordított domain jelölés és követelmények

Szerző: IT Sectr Megjelenés: 2026-04-17 Olvasási idő: 8 perc

Package Name — az Android-alkalmazás egyedi azonosítója, amely a domain név fordított írásmódján (reverse domain notation) alapul. A rendszer az alkalmazások megkülönböztetésére használja a felhasználó eszközén, a Google Play-ben a termék azonosítására, valamint a Firebase szolgáltatásokban a projekt összes konfigurációjának összekapcsolására. A Android Developer Documentation szerint a Package Name a közzététel után az alkalmazás teljes életciklusa során változatlan marad.

Főbb pontok

  • Package Name — az Android-alkalmazás globális azonosítója reverse domain formátumban
  • Formátum a vállalat domainjét fordított sorrendben használja: com.example.app
  • Egyediség ellenőrzése a Google Play által közzétételkor — a duplikátumok tilosak
  • Módosítás a Package Name közzététel után lehetetlen új alkalmazás létrehozása nélkül
  • Application ID a build.gradle-ben megfelel a Package Name-nek és külön van konfigurálva

Mi a Package Name Androidban

Package Name — egy egyedi karaktersorozat, amelyet az Android az alkalmazás azonosítására használ az operációs rendszer szintjén. Megfelel az AndroidManifest.xml fájl package mezőjének és az alkalmazásmodul build.gradle fájljának applicationId mezőjének. Egyedi Package Name nélkül az alkalmazás telepítése a felhasználó eszközére lehetetlen.

A Package Name célja

Az eszközön a Package Name kulcsként szolgál az alkalmazások kezeléséhez: a rendszer az egyes alkalmazások adatait, beállításait és gyorsítótárát a /data/data/[packageName] könyvtárban tárolja. Két azonos azonosítóval rendelkező alkalmazás nem létezhet együtt — duplikátum telepítésének kísérletekor a rendszer a meglévő eltávolítását javasolja.

Package Name és Application ID

Az Android Gradle Plugin 0.11+ verziójában megjelent a szétválasztás a Package Name (a manifestben) és az Application ID (a build.gradle-ben) között. Az Application ID az alkalmazás tényleges azonosítója a rendszer és a Google Play számára. A Package Name a manifestben az erőforrások feloldására és az R osztály generálására szolgál. Ajánlott ezeket az egyszerűség kedvéért azonosnak tartani.

groovy
// build.gradle (Modul: app)
android {
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 24
        targetSdkVersion 34
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
}

Az applicationIdSuffix mező lehetővé teszi utótag hozzáadását az Application ID-hez különböző fordítási konfigurációkhoz. A debug verzió rendelkezhet com.example.app.debug azonosítóval, ami lehetővé teszi a telepítést a production verzió mellé párhuzamos teszteléshez.

A Package Name elnevezési szabályai

Google Play szigorú szabályokat határoz meg a Package Name-re, amelyeket közzétételkor be kell tartani. Az azonosítónak egyedinek kell lennie a teljes áruház méretében, meg kell felelnie a szintaktikai követelményeknek, és nem sértheti a védjegyhasználati irányelveket.

Szintaktikai követelmények

Package Name csak latin betűket (A-Z, a-z), számokat (0-9), pontot (.) és aláhúzásjelet (_) tartalmazhat. Maximális hossz — 150 karakter. A pontok közötti szegmenseknek betűvel kell kezdődniük. Kötőjelek, szóközök és speciális karakterek a Google Play szabályai által tiltottak.

KövetelményÉrtékPélda
Engedélyezett karakterekLatin betűk, számok, pont, aláhúzáscom.example.my_app
Maximális hossz150 karaktercom.example.verylongappname
Szegmens kezdeteCsak betűcom — nem 3com
TiltottKötőjelek, szóközök, cirillcom.saját-domain — hiba
EgyediségGlobális a Google Play-benEllenőrzés létrehozáskor

Egyediségi követelmények

A Package Name egyedisége — a Google Play Store abszolút követelménye. Ha egy másik alkalmazás már használja a kiválasztott azonosítót, a közzétételt elutasítják. A Google nem szabadítja fel a törölt alkalmazások azonosítóit, ezért az első Package Name kiválasztása kritikus döntés minden fejlesztői projekt számára.

Fordított domain jelölés és egyezmények

Fordított domain jelölés — egy elnevezési szabvány, amelyben a vállalat domain neve fordított sorrendben kerül leírásra: com.example az example.com helyett. Egy ilyen rendszer garantálja az azonosítók globális egyediségét, mivel minden domain név definíció szerint egyedi.

Szabványos előtagok

A fejlesztők általában a domainjük TLD-jének megfelelő előtagot használnak: com kereskedelmi szervezetekhez, org non-profit szervezetekhez, io technológiai projektekhez, net hálózati szolgáltatásokhoz és megoldásokhoz. Személyes projektekhez a com.github.username vagy com.email használata megengedett.

  • com.company.app — szabványos formátum kereskedelmi alkalmazásokhoz
  • org.company.app — non-profit és nyílt forráskódú projektekhez
  • io.company.app — népszerű startupok és SaaS-termékek körében
  • com.github.username — személyes projektekhez a GitHub-on

Egyezmények többplatformos projektekhez

Az iOS és Android platformon kiadott alkalmazásokhoz ajánlott ugyanazt az azonosítót használni mindkét platformon. Ez egyszerűsíti az integrációt a Firebase, AppsFlyer, Adjust és más elemző rendszerekkel, amelyek a projekt azonosítójához kötődnek. Például a com.mycompany.myapp Bundle ID lesz iOS-en és Package Name Androidon.

A Package Name konfigurálása Android projektben

Package Name konfigurálása egy Android projektben magában foglalja az applicationId módosítását a build.gradle-ben és a Java/Kotlin kód megfelelő könyvtárstruktúrájának frissítését. Az Android Studio eszközöket biztosít a Package Name refaktorálásához, de összetett projekteknél lépésről lépésre történő migráció ajánlott.

Könyvtárstruktúra és Package Name

kotlin
// A fájl útvonala megfelel a Package Name-nek
// com/example/myapp/MainActivity.kt

package com.example.myapp

import android.os.Bundle
import androidx.activity.ComponentActivity

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }
}

Kotlinban és Javában a forrásfájlok Package Name-jének meg kell felelnie a könyvtárstruktúrának. A Package Name build.gradle-ben történő módosításakor a fájlokat a megfelelő könyvtárakba kell helyezni, és frissíteni kell az összes package és import deklarációt. Az Android Studio ezt automatikusan elvégezheti a Refactor -> Move segítségével, de nagy projekteknél, amelyek több tucat fájlt tartalmaznak, ajánlott ellenőrizni az eredményt a refaktorálás után.

Ha a projekt Data Binding, View Binding vagy Hilt használ, a Package Name módosítása a generált osztályokat is érinti. A Binding osztályok a modul Package Name-je és a layout könyvtár alapján jönnek létre. Az azonosító megváltoztatása után a projektet újra kell építeni az összes generált hivatkozás frissítéséhez. Ajánlott clean build végrehajtása a Package Name módosítása után a gyorsítótárazott régi hivatkozásokból eredő hibák elkerülése érdekében.

A Gradle 7.0+-ban megjelent a namespace támogatása a build.gradle-ben, ami felváltotta a package-et az AndroidManifest.xml-ben az R osztály és erőforrások generálásának céljaira. Az applicationId ugyanakkor az alkalmazás tényleges azonosítója marad a rendszer és a Google Play számára. Ez lehetővé teszi különböző applicationId és namespace használatát, ami hasznos a könyvtári moduloknál, ahol a namespace rögzített, a nyilvános azonosító pedig fordítás közben változhat.

Moduláris architektúrájú projekteknél az egyik modul Package Name-jének módosítása hatással lehet más modulok importjaira. Ha az adatmodul a com.example.data csomaggal rendelkezik, és a domain modul annak osztályait használja, az azonosító módosítása után frissítse az importokat az összes függő modulban. Az Android Gradle plugin 8.0+ verziója leegyszerűsíti ezt a folyamatot a namespace automatikus generálásával a build.gradle-ből.

Package Name ellenőrzése kódon keresztül

Az aktuális Application ID a BuildConfig osztályon keresztül érhető el: BuildConfig.APPLICATION_ID. Ez kényelmes a feltételes logikához a kódban, a környezethez való kötődéshez, vagy az azonosító megjelenítéséhez debug képernyőkön. A BuildConfig automatikusan generálódik a build.gradle alapján.

kotlin
// Application ID lekérése futási időben
val packageName = BuildConfig.APPLICATION_ID
val packageManager = packageManager
val appInfo = packageManager.getPackageInfo(packageName, 0)

println("Alkalmazás verziója: ${appInfo.versionName} (${appInfo.versionCode})")
println("Csomag: $packageName")

A Package Name módosítása közzététel után

Package Name módosítása az alkalmazás Google Play-ben történő közzététele után — olyan művelet, amely egy teljesen új termék létrehozását jelenti. A rendszer nem teszi lehetővé a meglévő alkalmazás frissítését másik Package Name-nel, ezért az azonosító megváltoztatásának döntése a projekt újraindításával egyenértékű az áruházban.

A Package Name módosításának következményei

A Package Name módosításakor elvesznek: az összes értékelés és vélemény, a telepítési statisztikák, a Google Services integráció (ha nem került átvitelre), a Firebase projektre mutató hivatkozások (új google-services.json létrehozása szükséges). A felhasználók nem kapnak automatikus frissítést — új alkalmazást fognak látni az áruházban.

  • Értékelések és vélemények — a régi alkalmazásnál maradnak, nem kerülnek átvitelre
  • Telepítési statisztikák — nullázódnak az új Package Name-hez
  • Firebase projektek — új google-services.json konfigurációt és az összes szolgáltatás újbóli beállítását igénylik
  • Felhasználók — nem kapnak automatikus frissítést, külön kell értesíteni őket

Mikor indokolt a Package Name módosítása

Package Name módosítása indokolt lehet a vállalat átmárkázásakor, az alkalmazás másik fejlesztői fiókba történő áthelyezésekor, vagy másik régióhoz külön verzió létrehozásakor. Minden esetben a módosítás előtt ajánlott értesíteni a felhasználókat a régi alkalmazáson keresztül, és migrációs tervet készíteni az adatok átvitelével. Migrációs terv nélkül a felhasználók elveszítik a hozzáférést a vásárolt tartalmakhoz, előfizetésekhez és a mentett alkalmazásadatokhoz. A migráció magában foglalja az adatbázis és fájlok átvitelét SharedPreferences vagy Room segítségével.

A Package Name módosítása előtt győződjön meg arról, hogy az új azonosító egyedi és megfelel az elnevezési szabályoknak. Hozzon létre egy új alkalmazást a Google Play-ben az új Package Name-nel, és tegye közzé külön termékként. A régi alkalmazás leírásában adjon hozzá linket az újhoz. Fontolja meg a Google Play Custom Store Listing használatát a felhasználók átirányításához.

Gyakran Ismételt Kérdések

Használható kötőjel vagy aláhúzás a Package Name-ben?

A Package Name-ben az aláhúzásjel (_) engedélyezett, de a kötőjel (-) nem. Az aláhúzást ritkán használják, de elfogadható: com.example.my_app. A kötőjel a Google Play szabályai által tiltott, és hibát okoz a közzétételkor. Ajánlott csak pontot használni a szegmensek elválasztójaként.

Miben különbözik a Package Name az Application ID-től a build.gradle-ben?

Package Name — az azonosító az AndroidManifest.xml-ben, amely az erőforrások feloldására és az R osztály generálására szolgál. Application ID — a build.gradle mezője, amely meghatározza az alkalmazás azonosítóját a rendszer és a Google Play Store számára. Ajánlott ezeket azonosnak tartani, de az eltérés megengedett az applicationIdSuffix használatakor.

Hogyan válasszuk ki helyesen a Package Name-t egy új projekthez?

Használja vállalata vagy beceneve fordított domain jelölését: com.domain.alkalmazasnev. Győződjön meg arról, hogy az azonosító egyedi a Google Play-ben. Kerülje az általános szavakat (todo, test, app), és ellenőrizze, hogy az azonosítót nem foglalta-e le más fejlesztő a Google Play-ben való kereséssel.

Megváltoztatható a Package Name a Google Play-ben való közzététel előtt?

Igen, a Google Play-ben való közzététel előtt a Package Name következmények nélkül megváltoztatható. A változtatás után újra kell generálni a google-services.json-t, frissíteni kell a könyvtárstruktúrát, és ellenőrizni kell az összes importot. Az Android Studio Refactor -> Move eszközöket biztosít a folyamat automatizálásához.

Hogyan kapcsolódik a Package Name az alkalmazás aláírásához?

A Package Name az aláírási tanúsítvánnyal együtt egy egyedi kapcsolatot képez, amely azonosítja az alkalmazást a Google Play-ben. Még ha két alkalmazásnak eltérő Package Name-je is van, ugyanazzal a kulccsal aláírhatók. Az aláírási tanúsítvány módosítása a Key Rotation segítségével lehetséges a Play Console-ban az azonosító elvesztése nélkül.

Összefoglalás

  • Package Name — az Android-alkalmazás egyedi azonosítója fordított domain jelölés formátumban
  • Elnevezési szabályok — latin betűk, számok, pont, aláhúzás; maximum 150 karakter
  • Fordított domain garantálja a globális egyediséget: com.company.appname
  • Application ID a build.gradle-ben megfelel a Package Name-nek és fordítási utótagokkal rendelkezhet
  • Módosítás közzététel után lehetetlen — az új alkalmazás elveszíti az értékeléseket és véleményeket
  • Android Studio refaktoráló eszközöket biztosít a biztonságos módosításhoz közzététel előtt
  • Ajánlás — válasszon értelmes azonosítót a közzététel előtt, kerülje az általános és foglalt neveket

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is