Eclipseには2つのAndroidプロジェクトがあります。一方のプロジェクトをもう一方のプロジェクトからコピーしてから、アプリ名(strings.xml内)とプロジェクト名(Eclipse内)を変更しました。
しかし、今は問題があります。エミュレータでいずれかのアプリケーションを実行すると、もう一方のアプリケーションが失われます(おそらく上書きされますか?)。では、Androidが2つのアプリを異なるものとして認識するように、別の設定を行う必要があると思いますか?
ありがとう!
Eclipseには2つのAndroidプロジェクトがあります。一方のプロジェクトをもう一方のプロジェクトからコピーしてから、アプリ名(strings.xml内)とプロジェクト名(Eclipse内)を変更しました。
しかし、今は問題があります。エミュレータでいずれかのアプリケーションを実行すると、もう一方のアプリケーションが失われます(おそらく上書きされますか?)。では、Androidが2つのアプリを異なるものとして認識するように、別の設定を行う必要があると思いますか?
ありがとう!
実際には、いくつかの場所で名前を変更する必要があります:
まず、あなたが言ったように、アプリケーションの目に見える名前である文字列の名前。
次に、 activity->src に移動し、パッケージ (com.example.whatever) を右クリックして、refactor->rename; を実行します。
次に、manifest.xml: に移動し、次のフィールドを変更します。
<manifest package="com.example.whatever" >
ネイティブ コードの JNI を使用している場合は、C++ 関数の名前も変更する必要があります。これは厄介な作業です。
Java_com_example_whatever_activity_function()
Android Studio を使用しておらず、手動で実行したい場合 (たとえば、React Native を使用している場合) のために、私は最近これを実行し、次のファイルで変更する必要がありました。
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
パッケージ名(Java)。
アプリ名もマニフェストに含まれていますが、一意である必要はないと思いますが、わかりやすくするために変更することをお勧めします。
このタスクを達成するために私が見つけた最も簡単な方法は、.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 でパッケージ名を次のように指定します。
<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) はビルドするフレーバーを尋ねます。
デバッグ構成は少し直感的ではありません。画面の左下隅にカーソルを置き、[ビルド バリアント] を選択して、再生ボタンを押したときにデバッグ構成をデプロイするフレーバーを選択する必要があります。
私のセットアップ
app/java/com.company.app
。Refactor > Rename
し、 を選択しますRename Package
。Do Refactor
ます。手でハックする必要はありません。
アプリケーションの一意の識別子はパッケージ名です。パッケージ名を変更してアプリを再インストールすると、携帯電話に 2 つのコピーが残ることになります。
Eclipse は、コードのすべての場所で自動的に変更できます。
パッケージ エクスプローラー (プロジェクト ツリー) でプロジェクトを右クリックし、[Android ツール] -> [アプリケーション パッケージの名前を変更] に移動します。
ほら。