В чем разница между именем пакета и именем пакета приложения? - PullRequest
0 голосов
/ 10 июля 2020

Я практикую Android Программирую с книгой

, и он говорит, что если имя пакета совпадает, android понимает, что это одно и то же приложение, даже если проект другой.

Итак, я изменил его с помощью Refactor.

, а также говорится, что если вы тоже хотите изменить имя пакета приложения, измените идентификатор приложения в build.gradle (Module: app)

what Чем отличается имя пакета от имени пакета приложения? (Возможно, имя неправильное, потому что я просто перевел его.)

1 Ответ

2 голосов
/ 10 июля 2020

Каждое приложение Android имеет уникальный идентификатор приложения, который выглядит как имя пакета Java, например com.example.myapp. Этот идентификатор однозначно идентифицирует ваше приложение на устройстве и в магазине Google Play. Если вы хотите загрузить новую версию своего приложения, идентификатор приложения (и сертификат, которым вы его подписываете) должны совпадать с исходным APK-файлом. Если вы измените идентификатор приложения, Google Play Store будет рассматривать APK как совершенно другой приложение. Поэтому после публикации sh приложения вы никогда не должны изменять идентификатор приложения.

android {
    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    ...
}

Хотя имя пакета вашего проекта по умолчанию совпадает с идентификатором приложения, вы можете его изменить. Однако, если вы хотите изменить имя своего пакета, имейте в виду, что имя пакета (как определено структурой каталогов вашего проекта) всегда должно соответствовать атрибуту пакета в файле AndroidManifest. xml, как показано здесь:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp"
    android:versionCode="1"
    android:versionName="1.0" >
...