如何仅更改 android 包名?

how to change android packagename only?

我有一个带有此清单的小型 android 应用程序:

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.eliran.myapplication.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

我想更改包名称以测试与另一个 andorid 应用程序的集成。

然而当我改为

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myTest.driver" >

我收到一条错误消息,提示未找到 R class

Error:(37, 25) error: package R does not exist

如何解决这个问题,既不费力又不更改每个 class 的包名称?

您需要更改 build.gradle 文件中的 applicationID

第 1 步:Return将您的 package 属性恢复为原始值

第 2 步:将模块的 build.gradle 文件中的 applicationId 添加到 defaultConfig 到修改后的应用程序 ID

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 22
        applicationId "com.commonsware.android.espresso"
    }
}

这会为您的应用程序提供一个单独的应用程序 ID(用于安装目的的唯一标识符),但保持包名称相同(用于 R 代等)。