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
- clique direito sobre a pasta raiz do seu projeto.
- Clique em “Module Abrir Configuração”.
- Vá até a aba Flavours.
- 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