【问题标题】:How to change the package name of my app in Android Studio?如何在 Android Studio 中更改我的应用程序的包名称?
【发布时间】:2018-03-18 11:36:08
【问题描述】:

我在 Android Studio 中创建了一个项目。 Android Studio 根据我的应用名称生成了一个包名。但我不想要那个名字 (com.randompasswordgenerator)。所以我找到了所有出现的包名并将其更改为com.passwordgen。但是,当我运行该应用程序时,在 Run 控制台中,它仍然使用旧名称:

Installing com.randompasswordgenerator
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.randompasswordgenerator"
pkg: /data/local/tmp/com.randompasswordgenerator
Success
...

我尝试更改清单中的包名称,但它已自动更改为新名称。我想还有一个地方需要改名,但是在哪里呢?

我知道这个问题已经被问过很多次了。但是我发现的帖子使用的是 Eclipse 而不是 Android Studio。

编辑:

这是我的清单文件:

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MyTheme" >
        <activity
            android:name=".MainMenuActivity"
            android:label="@string/app_name"
            android:theme="@style/MyTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".GenerateActivity"
            android:label="@string/title_activity_generate"
            android:theme="@style/MyTheme" >
        </activity>
        <activity
            android:name=".OptionsActivity"
            android:label="@string/title_activity_options"
            android:theme="@style/MyTheme" >
        </activity>
        <activity
            android:name=".PasswordActivity"
            android:label="@string/title_activity_password"
            android:theme="@style/MyTheme" >
        </activity>
    </application>

</manifest>

【问题讨论】:

    标签: java android packages


    【解决方案1】:

    首先,当您更改名称时,请使用 Android Studio 中的重构选项(右键单击包,然后单击重命名)。那么你仍然会看到旧包的原因是 Android Studio 没有检测到任何代码更改,而只是给你已经构建的包。您可以通过project clean 更改此设置。有问题请留言

    【讨论】:

    • 什么是project clean?是关于 gradle 的吗?
    • 对不起,我的意思是干净的项目。它可以在构建菜单下找到。我将在答案中附上屏幕截图
    • 不,当我运行应用程序时,它仍然说同样的话。您说 android studio 没有检测到任何代码更改,但我的代码 确实 更改了!我看到我所有的 java 文件都在 com.passwordgen 包中。
    • 愚蠢的问题,你试过关闭和打开Android Studio吗?
    • 是的,我做到了!仍然说同样的话。
    【解决方案2】:

    在您的com.randompasswordgenerator 文件夹上单击右键并转到

    重构>重命名(Shift + F6),而不是更改为您喜欢的任何内容!!!

    不要忘记重命名您“调用”您的包名称的其他位置!

    祝你好运!

    【讨论】:

      【解决方案3】:

      您还可以通过编程方式指定 applicationId

      android {
          ...
          defaultConfig {
              applicationId 'com.passwordgen'
          }
      }
      

      这会更改输出的代码,但不会影响原始源目录路径

      【讨论】:

        【解决方案4】:

        Changing Project Name

        我说的是什么对我有用。

        我尝试使用 Refactor 选项更改 Android Studio 中的项目名称/应用程序名称。但是弹出“无法更改项目名称/根文件夹”。

        然后我关闭了android stuio中的项目(Android Studio仍然没有关闭),然后我将项目文件夹名称从DipCalculator更改为DipCalculator2。 然后我更改了 app/src 中所有 java 代码出现的包名。然后是app/build.gradle,app/app.iml文件。 changing project name in build.gradle file。除了我提到的以外,我没有分发任何其他文件夹/文件

        然后我从 Android Studio 重新打开了该项目,然后是 Build Synch。然后我构建apk并在我的手机上运行它。新安装显示新应用名称 DipCalculator2 而不是 DipCalculator

        【讨论】:

          【解决方案5】:

          只需清理项目,然后转到 Manifexst.XML 并搜索 android label="@/String_appname" 并删除它。 例如:android label="NEW" 问候!

          【讨论】:

            猜你喜欢
            • 2014-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-06-09
            • 2011-07-23
            • 1970-01-01
            • 2013-10-30
            相关资源
            最近更新 更多