このサイトでは、分析、カスタマイズされたコンテンツ、および広告に Cookie を使用します。このサイトを引き続き閲覧すると、Cookie の使用に同意するものと見なされます。
Hi, Developers,
straightapps.com
作成日 December 28, 2017、更新 December 23, 2019
トップページ > Android 開発トップ > アプリケーション名を指定する
line
Android 開発
line

ここでは、AndroidManifest でアプリ名を指定する方法を検討しています。

Visual C++ で自動生成したコードでは、実機にインストールされたとき、アプリアイコンの下には <プロジェクト名>.Packaging の形式で表示されます。 例えば "ComplementGame.Packaging" のようになります。

これを日本語や、自由な名前にするには、AndroidManifest.xml を編集する必要があるようです。 ここでは、このあたりを検証しています。

ご利用に際しては、必ずプライバシーポリシー(免責事項等)をご参照ください。
また、本サイトが初めての方は、まずこのページの注意事項をご覧ください。

▼ セクション一覧

AndroidManifest.xml で アプリケーションのパスを指定する
AndroidManifest.xml で アプリケーション名を指定する
strings.xml で アプリケーション名を指定する - December 23, 2019 追加


AndroidManifest.xml で アプリケーションのパスを指定する

投稿 December 28, 2017、最終更新 December 23, 2019

アンドロイド・アプリは、アプリ名(パッケージ名)で端末のストレージに置かれるようですので、一意の名前がなくてはいけません。 一意の名前とは、世界中の誰とも一致しない唯一の名称ということで、 もし一意の名前でないなら、先にインストールされていたアプリのファイルを上書きすることになるか、 動作不良になるか、あるいは拒否されるか・・・わかりません。 一意であることを保証するために、通常は自身の URL 名+アプリ名とするようです。

一意のアプリ名は、AndroidManifest.xml の <manifest> タグで指定するようです。
manifest タグは、初期状態で次のようになっていました。

<manifest
	xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.$(ApplicationName)"
	android:versionCode="1"
	android:versionName="1.0">

とりあえず、com.$(ApplicationName)の部分だけ書き変えれば良さそうです。 $(ApplicationName) の部分は、プロジェクト名(例えば "ComplementGame")に置き換えられます。

<manifest
	xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.<ドメイン名>.$(ApplicationName)"
	android:versionCode="1"
	android:versionName="1.0">

<ドメイン名>.com ( <domain>.co.jpなら、jp.co.<domain>のようにすべきと思います。 ) を持っている場合のプロジェクトの例です。
これで、Android / data / com.<ドメイン名>.アプリ名に、インストールされることになります。

package="com.StraightApps.$(ApplicationName)"
のようにしたら、Android / data / com.straightapps.ComplementGame のようなパスができました。

なお、デフォルトの設定のままデバッグを行い、この部分を書き変えると、新しいパスにインストールされることになるため、 今までのデータが見えなくなります(別アプリ扱いになります)。

しかし、これだけでは、インストールしたアプリアイコンと一緒に表示される名称は、 <プロジェクト名>.Packagingのようになってしまいます。

▲ページ先頭へ

AndroidManifest.xml で アプリケーション名を指定する

投稿 December 28, 2017、更新 December 23, 2019

インストールされたアプリのアイコンと一緒に表示されるアプリ名は、 AndroidManifest.xml の <application> タグの内側、 <activity> タグで指定できるようです。

<activity
	android:name="android.app.NativeActivity"
	android:label="@string/app_name"
	android:configChanges="orientation|keyboardHidden">

上記のようになっている場合、アプリケーション名の部分、android:label が影響しています。 この指定だと、string にある app_name キーの値と読めます。

プロジェクトの Packaging にある、 res/values フォルダstrings.xml を開いてみると、次のように書かれていました。

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="app_name"><アプリ名>.Packaging</string>
</resources>

ここを書き換えてもいいのかも知れませんが、他で参照しているといけないので、AndroidManifest.xml のほうを書き換えてみました。

<activity
	android:name="android.app.NativeActivity"
	android:label="私のApp"
	android:configChanges="orientation|keyboardHidden">

android:label="@string/app_name"の部分を書き換えています。
すると、アプリアイコンと共に表示される文字列が、ここで指定したものに変わりました。

<July 30, 2018 追記>
が、これでは「設定」などから見える文字列が strings.xml の app_name で指定されているもののままでした。 strings.xml の app_name を書き換えるべきのようです。 とりあえず、それで問題はないようですので、これが正解のようです。

▲ページ先頭へ

strings.xml で アプリケーション名を指定する

投稿 December 23, 2019

上のセクションの追記で、中途半端な書き方になっていましたので、改めて書いておきます。

アプリの名称は、AndroidManifest.xml の <application> タグの内側、 <activity> タグが、直接的には関係していました。

<activity
	android:name="android.app.NativeActivity"
	android:label="@string/app_name"
	android:configChanges="orientation|keyboardHidden">

しかし、これを書き換えても、表面上は良さそうに見えましたが、「設定」アプリなどで表示されるのは、プロジェクト名のままでした。

@string/app_name を書き換えるためには、 プロジェクトの Packaging にある、 res/values フォルダstrings.xml を開きます。

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="app_name"><アプリ名>.Packaging</string>
</resources>

上記、<アプリ名> と書かれた部分は、プロジェクト名になっていました。 <アプリ名>.Packaging" の部分を自由な名前に書き換えれば、アプリ名がそれになります。日本語でもOKです。

なお、前のセクションで AndroidManifest.xml のほうを書き換えている場合は、android:label の値を "@string/app_name" に戻しておいてください。

▲ページ先頭へ
line
関連トピックス
line

次の手順は・・・
android_main 関数(ループ前)

アプリが起動されてまず制御が来るのが、エントリーポイントとなる android_main 関数です。 前半部分を確認しています。

Visual C++ 2015 で、新規プロジェクトを作成する

Visual C++ 2015 で、Android ネイティブアプリを作成するため、新規プロジェクトを作成する手順を記録しています。

line
その他のおすすめ
line

おすすめ記事はありません。

JavaScriptが無効です
▲ページ先頭へ


© 2017-2019 StraightApps.com 無断転載を禁じます。No reproduction without permission.