Publisher is the useful and powerful WordPress Newspaper , Magazine and Blog theme with great attention to details, incredible features...

Resolvido : O jeito mais simples para renomear package android studio

O jeito mais fácil que deu certo para mim

Bem, de antemão, só queria lhe dizer que a classe R sempre é criada depois do Build. Então se você mudou a package do seu projeto, lembre-se de dar um clean project e depois um build project. Certo, agora vamos mudar a package do seu projeto.

Alterar package em app/build.gradle

defaultConfig {
        applicationId "co.mypack.myoldpack"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "R15.0c"
}

Alterar linha applicationId para sua nova package

defaultConfig {
        applicationId "co.mypack.mynewpack"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "R15.0c"
}

Alterar package no AndroidManifest.xml

package="co.mypack.myoldpack"

Após ter alterado a linha acima para package="co.mypack.mynewpack", você vai ter que criar um novo pacote em main/java/. e depois, passar todas as suas classes (copiar e colar) para o novo pacote e, enfim, apagar seu pacote antigo.

Importante : é necessário fazer uma alteração no arquivo androidmanifest se não irá dar conflitos com outros app na hora de enviar notificações, exemplo logo abaixo, observe que na permission android:name = tem que constar o nome do pacote que esta no android manisfest que se encontra no começo desse código, os outros nomes do arquivo original, não precisa ser alterado.

<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”autoescolachamponalli.com”>

<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.VIBRATE” />
<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.WAKE_LOCK” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” />

<!– Required to show current location –>
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />
<!–
Creates a custom permission so only this app can receive its messages.

NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
where PACKAGE is the application’s package name.
–>
<permission
android:name=”autoescolachamponalli.com.permission.C2D_MESSAGE”
android:protectionLevel=”signature” />

<uses-permission android:name=”com.digitalborder.webappessentials.permission.C2D_MESSAGE” />

<!– This app has permission to register and receive data message. –>
<uses-permission android:name=”com.google.android.c2dm.permission.RECEIVE” />
<application
android:allowBackup=”true”
android:icon=”@mipmap/ic_launcher”
android:label=”@string/app_name”
android:supportsRtl=”false”
android:theme=”@style/AppTheme”
android:hardwareAccelerated=”true”>

<activity
android:name=”.SplashActivity”
android:label=”@string/app_name”
android:theme=”@style/AppTheme.NoActionBar”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
<activity
android:name=”.MainActivity”
android:label=”@string/app_name”
android:screenOrientation=”portrait”
android:theme=”@style/AppTheme.NoActionBar”>
<intent-filter>
<action android:name=”OPEN_MAIN_1″ />
<category android:name=”android.intent.category.DEFAULT” />
</intent-filter>
</activity>
<activity
android:name=”.SettingsActivity”
android:label=”@string/title_activity_settings”
android:parentActivityName=”.MainActivity”>
<meta-data
android:name=”android.support.PARENT_ACTIVITY”
android:value=”com.digitalborder.webappessentials.MainActivity” />
</activity>
<!– Include the AdActivity configChanges and theme. –>
<activity
android:name=”com.google.android.gms.ads.AdActivity”
android:configChanges=”keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize”
android:theme=”@android:style/Theme.Translucent” />

<!–
Defining Services
–>
<service
android:name=”.FCM.MyFirebaseMessagingService”>
<intent-filter>
<action android:name=”com.google.firebase.MESSAGING_EVENT”/>
</intent-filter>
</service>

<service
android:name=”.FCM.MyFirebaseInstanceIDService”>
<intent-filter>
<action android:name=”com.google.firebase.INSTANCE_ID_EVENT”/>
</intent-filter>
</service>

<meta-data
android:name=”com.google.android.gms.version”
android:value=”@integer/google_play_services_version” />
<meta-data
android:name=”com.google.android.geo.API_KEY”
android:value=”@string/gmap_key” />

</application>

</manifest>

Pronto, agora existe uma segunda maneira de se fazer isso também, leia abaixo

 

  1. clique direito sobre a pasta raiz do seu projeto.
  2. Clique em “Module Abrir Configuração”.
  3. Vá até a aba Flavours.
  4. Alterar o applicationID a qualquer nome do pacote que você deseja. Pressione OK.

Essa é a primeira parte

Agora posicione o curso do mouse sobre a pasta JAVA, em seguida selecione a opção criar novo pacote, logo após ter criado esse pacote abra o  pacote antigo arraste com o mouse o conteúdo para esse novo pacote, o pacote antigo pode ser deletado.

2 – Agora vai no arquivo androimanifest e edite o pacote, logo em seguida clique no botão para rodar o simulador, vai aparecer uns erro dizendo que o pacote não existe em cor vermelha. clique em cima desse erro e altere o nome para o nome correto.

obs : não são todos os erros vermelhos que precisa ser trocado, não, só o mais destacado que aparece no topo