จะเปลี่ยนชื่อแอพ Android ได้อย่างไร


424

มีวิธีในการเปลี่ยนชื่อ (Launcher App Label) ของแอพโดยไม่ต้องสร้างโครงการใหม่หรือไม่?

หมายเหตุ: ชื่อของแอพและเลเบลที่แสดงบนไอคอนตัวเรียกใช้บนหน้าจอโฮมบนโทรศัพท์มือถืออาจแตกต่างกัน

ตัวอย่าง: ในหน้าแรกของมือถือของฉันว่ามีแอพของฉันอยู่ที่ไหนฉันมีไอคอนและชื่อ Foo แต่ฉันต้องการเปลี่ยนชื่อเป็น Bar ฉันจะทำสิ่งนี้ได้ไหม

คำตอบ:


609

ใช่คุณสามารถ. โดยการเปลี่ยนข้อมูลในโหนดใบสมัครของคุณandroid:labelAndroidManifest.xml

หมายเหตุ: หากคุณเพิ่มหน้าจอสแปลชและเพิ่ม

<intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

ไปที่หน้าจอ Splash ของคุณจากนั้นชื่อไอคอนตัวเปิดจะเปลี่ยนเป็นชื่อของชื่อระดับหน้าจอของคุณ

โปรดตรวจสอบให้แน่ใจว่าคุณเปลี่ยนป้ายกำกับ:

android:label="@string/title_activity_splash_screen"

ในกิจกรรม Splash Screenของคุณในไฟล์ strings.xml ของคุณ สามารถพบได้ใน Res -> Values ​​-> strings.xml

ดูเพิ่มเติมได้ที่นี่


235
และสำหรับผู้เริ่มต้นที่สมบูรณ์คุณอาจพบ 'android: label = "@ string / app_name"' ใน /res/values/strings.xml คุณจะพบคำจำกัดความของสตริง app_name: <string name = "app_name"> ชื่อแอปของคุณ </string> หวังว่าจะช่วยประหยัดเวลาของใครบางคนขณะที่พวกเขากำลังเริ่มต้น
Michael Reed

12
ฉันมี<string name="app_name">myname</string>ใน strings.xml ของฉันและใช้ในรายการของฉัน: android:label="@string/app_name". ฉันยังมีชื่อผู้พัฒนาเก่าของฉัน (SplashActivity) แม้หลังจากถอนการติดตั้ง (ชื่อ "myname" เมื่อฉันต้องยืนยันการถอนการติดตั้ง)
Wandang

1
ขอบคุณ @MichaelReed มันก็ดีสำหรับผู้เริ่มต้นที่จะรู้ว่าไม่แนะนำให้เปลี่ยน @ string / app_name เป็นชื่อจริง คุณจะได้รับคำเตือนสีเหลืองบอกให้คุณใช้ @ string / some_name และไม่ต้อง "รหัสยาก" (เขียนชื่อจริง) ในฟิลด์นั้น แต่อย่างที่คุณพูดค้นหาชื่อแอปจริงและแก้ไขในไฟล์ string.xml
Azurespot

1
android: ฉลากไม่ใช่สิ่งที่แสดงบนหน้าจอหลัก
lxknvlk

2
@lxknvlk จากการทดสอบบน Android 5 และ 5.1 ชื่อที่อ้างถึงในคำตอบนี้จะปรากฏในรายการแอปพลิเคชันที่ติดตั้งกล่องโต้ตอบถอนการติดตั้งและหน้าจอ "ข้อมูลแอพ" สำหรับแอปของคุณ หากคุณต้องการปรับแต่งชื่อที่แสดงในตัวเรียกใช้งานหรือหน้าจอหลักให้ลองเปลี่ยนandroid:labelแอตทริบิวต์ในกิจกรรมตัวเรียกใช้ของคุณ
Sam

231

มี android: label สำหรับแอปพลิเคชันและ android: label สำหรับกิจกรรมเรียกใช้ สิ่งแรกคือสิ่งที่คุณเห็นภายใต้การตั้งค่า -> แอปพลิเคชัน -> จัดการแอปพลิเคชันบนอุปกรณ์ของคุณ สิ่งหลังคือสิ่งที่คุณเห็นภายใต้แอปพลิเคชันและโดยการขยายในทางลัดไปยังแอปพลิเคชันของคุณเช่น

<application
    android:label="@string/turns_up_in_manage_apps" >
    <activity
        android:name=".MainActivity"
        android:label="@string/turns_up_in_shortcuts" >
        ...
    </activity>
</application>

2
นี่ควรเป็นคำตอบที่ยอมรับได้ คุณสามารถอธิบายวัตถุประสงค์ของ <string name = "app_name"> ใน strings.xml ได้อย่างไร
Kaizer Sozay

1
เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

1
+1 สำหรับการกล่าวถึงการใช้งาน String Resources (เช่น: android: label = "@ string / turns_up_in_manage_apps") แทนสตริง hardcoded ตาม Android Studio: แอตทริบิวต์ข้อความ hardcoding โดยตรงในรูปแบบไฟล์ไม่ดีด้วยเหตุผลหลายประการ: *** เมื่อสร้างรูปแบบการกำหนดค่า (เช่นแนวนอนหรือแนวตั้ง) คุณต้องทำซ้ำข้อความจริง (และปรับปรุงให้ทันสมัยเมื่อทำการเปลี่ยนแปลง ) *** แอปพลิเคชันไม่สามารถแปลเป็นภาษาอื่นได้โดยเพิ่มการแปลใหม่สำหรับทรัพยากรสตริงที่มีอยู่
ivanleoncz

บางครั้งการออกแบบ Android ก็เป็นเรื่องที่เหลือเชื่อ
Chris Neve

60

นี่เป็นเรื่องง่าย ๆ ใน Android Studio

ไปที่: res folder -> values ​​-> strings.xml

เปลี่ยน app_name (ในตัวอย่างร้อง: MitsuhoSdn Bhd) เป็นชื่อใหม่ที่คุณต้องการ

<string name="app_name">MitsuhoSdn Bhd</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>


น่าเสียดายที่คำตอบก่อนหน้านี้ใช้ไม่ได้สำหรับฉัน อันนี้ทำ!
L30nardo SV

38

ฉันสังเกตเห็นว่ามีความแตกต่างบางประการในวิธีที่ชื่อแอปสามารถปรากฏในอุปกรณ์ Lollipop ได้ ก่อนอมยิ้มคุณสามารถมีชื่อแอพที่แตกต่างกันด้วย:

<application
    android:label="@string/app_name"> // appears in manage app info
    <activity
        android:name=".MainActivity"
        android:label="@string/action_bar_title"> // appears in actionbar title 
        <intent-filter android:label="@string/name_in_icon_launcher"> // appears in icon launcher
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
...

ในอมยิ้มมันจะเป็นเช่นนี้:

<application
    android:label="@string/name_in_manage_app_info">
    <activity
        android:name=".MainActivity"
        android:label="@string/name_in_actionbar_and_icon_launcher">
        <intent-filter android:label="@string/this_is_useless">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

ใน Lollipop นั้นandroid:labelตัวกรองแบบเจตนานั้นไร้ประโยชน์โดยทั่วไปในขณะที่ชื่อแถบเครื่องมือและตัวเรียกใช้ไอคอนนั้นเหมือนกัน ดังนั้นหากคุณต้องการชื่อเรื่องที่แตกต่างในแถบเครื่องมือคุณไม่มีทางเลือกนอกจากตั้งค่าแบบไดนามิก

getSupportActionBar().setTitle(R.string.app_name);

เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

15

คุณอาจต้องเปลี่ยนชื่อกิจกรรมหลักของคุณ "android: label" ด้วยดังที่อธิบายไว้ในการตั้งชื่อแอปพลิเคชันของฉันใน android


เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

9

มันขึ้นอยู่กับสิ่งที่คุณต้องการจะทำ ฉันต้องการเปลี่ยนชื่อโครงการของฉันเป็นการส่วนตัวดังนั้นจึงไม่ได้บอกว่า MainActivity ที่ด้านบนของแอพและอยู่ใต้ไอคอนในเมนูโทรศัพท์ของฉัน

ในการทำเช่นนี้ฉันเข้าไปในไฟล์Android Manifest.xmlและแก้ไข

<activity
        android:name=".MainActitivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

และแก้ไขandroid:name=".Mynewname"และจากนั้นแก้ไขสตริงtitle_activity_mainในไฟล์ strings.xml เพื่อให้ตรงกับชื่อ

หวังว่าจะช่วย!


นี่คือสาเหตุที่แท้จริงเมื่อเราสร้างกิจกรรมใหม่ผ่านตัวช่วยสร้างใหม่ -> ใน eclipse จับได้ดี
Siddharth

แปลกที่สิ่งนี้แก้ไขได้เมื่อแอปพลิเคชัน android จริง: label ไม่ได้
loeschg

เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

9

หากคุณต้องการเปลี่ยนชื่อแอพภายใต้ไอคอนตัวเรียกใช้งานให้เปลี่ยนสิ่งนี้android:label="@string/app_name" ภายในแท็กกิจกรรมตัวเรียกใช้หลักของคุณ

        <activity android:name="com.test.app"
                  android:label="@string/app_name" >
                  <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                  </intent-filter>
        </activity>

และหากคุณต้องการเปลี่ยนชื่อแอพภายใน

การตั้งค่า -> ตัวจัดการแอปพลิเคชัน -> ดาวน์โหลด

ที่ซึ่งคุณมีแอพพลิเคชั่นที่ติดตั้งทั้งหมดแล้วเปลี่ยนสิ่งนี้android:label="@string/app_name" ภายในแท็กแอปพลิเคชัน

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

            ........

        <activity android:name="com.test.app" >
        </activity>

             .......

 </application>

สิ่งนี้มีความสำคัญ - ชื่อภายใต้ไอคอนตัวเรียกใช้บนเดสก์ท็อปไม่ใช่ชื่อของแอปมันเป็นชื่อของตัวเรียกใช้เริ่มต้น
Jeff Dege

เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

7

ในการเปลี่ยนชื่อAndroidแอปพลิเคชันของคุณในAndroid StudioหรือEclipseคุณต้องเปลี่ยนค่าของคุณสมบัติที่android:labelกำหนดไว้ภายใน<application>โหนดAndroidManifest.xml

 android:label="My Cool Application!"

โดยค่าเริ่มต้นชื่อของแอปพลิเคชันจะอ้างอิงถึงสตริงที่กำหนดไว้ในstrings.xmlไฟล์ตัวอย่างเช่น:

 android:label="@string/app_name"

ดังนั้นเราต้องเปลี่ยนค่าภายในไฟล์ strings.xml:

  <string name="app_name">My Cool Application!</string>

4
<application
      android:icon="@drawable/app_icon"
      android:label="@string/app_name">
          <activity
            android:name="com.cipl.worldviewfinal.SplashActivity"
            android:label="@string/title_activity_splash" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

</application>

ในการเปลี่ยนชื่อแอพ android ให้ไปที่กิจกรรมที่เป็นตัวเรียกใช้งานและเปลี่ยนป้ายกำกับเหมือนที่ฉันได้ทำไว้ในรหัสของฉัน


แปลก ฉันก็ต้องสร้าง @string ใหม่สำหรับชื่อแอปใหม่ของฉันและอ้างอิงก่อนที่ชื่อใหม่จะค้าง นี่อาจเป็นสิ่งที่ Eclipse หรือไม่?
Mike Hines

3

ไม่เป็นไรฉันพบแล้ว มันสามารถทำได้ในไฟล์รายการภายใต้แอปพลิเคชันเพียงแค่ตั้งค่าฉลาก Android ถูกโยนออกไปในตอนแรกเพราะมันไม่ได้เปลี่ยนทางลัดของชื่อแอปพลิเคชันของฉัน


เฮ้ฉันมีคำถาม หลังจากเพิ่มหน้าจอเริ่มต้นและย้ายตัวกรองเจตนาซึ่งควบคุมว่าแอปใดเริ่มต้นครั้งแรกชื่อแอปพลิเคชันของฉันเปลี่ยนเป็นชื่อของกิจกรรมที่เริ่มต้นก่อน ฉันได้ลองคำตอบของคุณแล้ว แต่ก็ยังไม่มีโชค ฉันควรทำอย่างไรดี? ขอบคุณมาก!
Ruchir Baronia

1

แก้ไขแท็กแอปพลิเคชันในไฟล์รายการ

 <application
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >

เปลี่ยนแอตทริบิวต์ label และตั้งชื่อล่าสุดตรงนั้น


ฉันคิดว่าคุณกำลังใช้แท็กป้ายกำกับในกิจกรรมของคุณหรืออะไรทำนองนั้นเนื่องจากชื่อแอปมีการเปลี่ยนแปลง โปรดวางการแมปของกิจกรรมของคุณในไฟล์รายการ
Deepak Sharma

1
  1. ไปที่ไฟล์ Strings.xml ภายใต้ค่า
  2. เปลี่ยนแท็ก app_name เป็น app_name ของคุณเพื่อต้องการและตั้งค่าไว้แล้วคุณจะสามารถเห็นชื่อที่คุณเปลี่ยนได้ทันที

1

หากคุณใช้ android studio รายการอยู่ภายใต้ strings.xml ของคุณ

<string name="app_name">BareBoneProject</string>

ดีกว่าที่จะเปลี่ยนชื่อที่นี่เพราะคุณอาจใช้สตริงนี้ที่ไหนสักแห่งหรืออาจจะเป็นห้องสมุดหรืออะไรบางอย่างที่ใช้มันนั่นคือมันเพียงแค่สร้างและเรียกใช้และคุณจะได้รับชื่อใหม่จำไว้ว่าสิ่งนี้จะไม่เปลี่ยนชื่อแพ็คเกจ หรือสิ่งอื่นใด


1

ทำตามขั้นตอน: (ให้ฉันสมมติว่าคุณได้เลือกมุมมอง Android) แอป> res> ค่า> สตริง

<string name="app_name">Put your App's new name here</string>


0

ใช่แน่นอน ........ Android รองรับการเปลี่ยนชื่อของแอพก่อนที่จะสร้างบิลด์เหมือนกับ iOS (Build Configuration) คุณสามารถเปลี่ยนได้โดยการแก้ไขไฟล์รายการ Android สำหรับโครงการ


0

การเปลี่ยนแปลงในไฟล์ Manifest ไม่ได้เปลี่ยนชื่อแอพ

<application android:icon="@drawable/ic__logo" android:theme="@style/AppTheme" android:largeHeap="true" android:label="@string/app_name">

แต่การเปลี่ยนLabelคุณสมบัติในสิ่งMainLauncher นั้นทำให้ฉัน

[Activity(Label = "@string/app_name", MainLauncher = true, Theme = "@style/MainActivityNoActionBarTheme", ScreenOrientation = ScreenOrientation.Portrait)]

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.