Android 更改设备语言时 APK 名称是否更改?

Android APK name changed when changing device language?

当设备语言为英语时,我的应用程序出现了奇怪的行为,我的应用程序名称没问题,但是当我将语言更改为阿拉伯语[=23]时=] APK 和应用名称更改为 Awesome Image picker ?这是我在我的应用程序中用来选择多张图片的库 !!

清单:

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

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            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=".SignInUser" />

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />

        <activity
            android:name="com.facebook.FacebookActivity"
            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name" />
        <activity android:name=".SignUpUser" />

        <activity android:name=".Search"
            android:windowSoftInputMode="stateHidden"/>
        <activity android:name=".SearchByName" />
        <activity android:name=".SearchByPrice"></activity>
    </application>

</manifest>

strings.xml :

<resources>
    <string name="app_name">Mat3ami</string>

    <string name="navigation_drawer_open">Open navigation drawer</string>
    <string name="navigation_drawer_close">Close navigation drawer</string>

    <string name="action_settings">Settings</string>

    <string name="facebook_app_id">*********</string>



</resources>

任何想法,帮助将不胜感激。

根据设备的语言设置,

Android 支持 Different Languages and Cultures。您可以使用不同的字符串资源实现您希望支持的语言

在您的项目中,右键单击 res/values/ 和 select 新建 -> 值资源文件。输入 "strings" 作为文件名并将源选项设置为 main。在可用的限定符中,单击“>>”按钮将 "Locale" 移动到选择的限定符部分。 Select 您希望支持的语言和 select 区域(默认为:任何区域)并左键单击 "Ok"。 Android studio 会自动生成一个新的资源文件也叫 "strings.xml".

现在保留原始字符串资源中的字符串名称,进行翻译,您就可以将您的应用程序国际化了:)。

您必须覆盖阿拉伯语资源文件 value-ar/strings.xml,并在其中写入您想要的名称,

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

我认为发生这种情况是因为您正在使用的库之一正在覆盖 app_name。

问候。