2011-07-03 109 views
9

我在Eclipse中有兩個Android項目。我複製了另一個項目,然後更改了應用程序名稱(位於strings.xml中)和項目名稱(在Eclipse中)。如何更改Android應用程序名稱和現有應用程序的ID?

但是現在有一個問題:(?也許重寫)當我在模擬器中運行任何應用程序的另一個丟失。所以我想我還有另外一個設置,以便Android識別這兩個應用程序是不同的?

謝謝!

回答

7

包名(在java中)。

應用程序名稱也在清單中,雖然我不認爲這需要是唯一的,但爲清晰起見,仍然可以更改它。

+0

誠然,在Android清單更改包名幫助了我。 –

11

其實你需要在多個地方需要修改名稱:

首先,正如你所說的,字符串,這是應用程序的可視名稱的名稱。其次,進入activity-> src並右鍵單擊包(com.example.whatever),然後執行refactor-> rename;

然後去的manifest.xml:在改變字段:

<manifest package="com.example.whatever" > 

如果您在使用本機代碼,JNI,你也將有改變C++函數,這是一個的名字屁股疼痛:

Java_com_example_whatever_activity_function() 
1

應用程序的唯一標識符是包名稱。 如果您更改軟件包名稱並再次重新安裝該應用程序,則最終會在手機上顯示兩個副本。

Eclipse可以自動更改您代碼的所有位置。

只需右鍵單擊包資源管理器(項目樹)項目 去到Android工具 - >重命名應用程序包

瞧。

6

對於Android Studio用戶,您需要在AndroidManifest.xml以及build.gradle文件 - > defaultConfig - > applicationId中更改軟件包名稱。

1

選擇項目窗口左上角的Android。因此,右鍵單擊Java文件夾下的包名,然後選擇「重構」 - >「重命名...」。 單擊重命名包按鈕。輸入你想要的新包裝的名稱,標記所有選項,然後確認。

當顯示結果時,點擊「重構」。

+0

謝謝,但它只允許重命名包名稱的最後一部分:而不是'com.example.app'它重命名爲'com.example.new_app'。 – SoftDesigner

+0

謝謝你的配方,一切正常。 –

2

最簡單的方法,我發現完成這個任務是利用在.gradle

productFlavors { 
    MainApp { 
     applicationId = "com.company.app" 
    } 
    NewAppFlavor { 
     applicationId = "com.company.newapp" 
    } 
} 

buildTypes { 
    debug { 
     buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + getDateAsMillis() + "L)" 
     applicationIdSuffix ".debug" 
    } 
} 

產品的風味,您再AndroidManifest指定包名。xml as

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.company" 
    android:versionCode="1" 
    android:versionName="0.1.1" > 

發佈配置後,Android Studio(本文1.5.1)將詢問要構建哪種風味。

調試配置不太直觀,您必須將光標懸停在屏幕的左下角,選擇「Build Variants」並選擇當您按下播放按鈕時調試配置將部署的味道。

1

對於誰沒有使用過Android Studio,並希望做手工(例如,如果你使用的陣營母語)的,我最近剛剛通過這個去了,不得不改變它在下列文件:

index.android.js 
android/settings.gradle 
android/app/build.gradle 
android/app/src/main/AndroidManifest.xml 
android/app/src/main/java/com/<app id>/MainActivity.java 
android/app/src/main/java/com/<app id>/MainApplication.java 
1

,如果您使用的是Android工作室則
您的項目標識爲您build.gradle文件只是改變了場applicationId "com.example.whatEver"
希望它會工作