web-dev-qa-db-ja.com

Android-既存のプロジェクトを新しい名前でコピーする

Eclipseを使用します。 eclipseworkspace(フォルダーProjectA)にプロジェクト 'ProjectA'があるとします。プロジェクトをコピーしますが、新しい名前(ProjectB)を使用し、新しいプロジェクトのすべての参照を調整します。さまざまな基本操作だと思ったことに対して、あまり助けが見つかりません。オリジナルのデザイン/コードのバリエーションを試してみたいのですが、コピーを作成することはそれを実行する明白な方法のように思えました。

提案をお願いします。

67
ron

今日もそれが必要で、同僚から答えをもらいました。

  1. プロジェクトを新しいプロジェクト(ctrl + c&ctrl + v)にコピーするだけです。

  2. マニフェストでpackage-nameを変更します

  3. その後、リファクタリングを使用してメインパッケージの名前を変更する必要があります。選択することを忘れないでください。

  4. マニフェストでアプリケーション名を変更するだけです

    アプリケーションAndroid:icon = "@ drawable/icon" Android:label = "新しい名前"

私は何かを忘れていなかったし、それがあなたを助けることを願っています

92
Tima

Mur Votemaのリストにアイテムを追加したいだけです。

5)コピーするプロジェクトを開くことを忘れないでください!

閉じられたプロジェクトでは機能しないことを知るのに数分かかりました。 :-)

23
iwpSoftware

Eclipseを使用していて、Androidプロジェクトを複製して新しいプロジェクト名を付けるだけで、コピー/貼り付け(Ctrl-C&Ctrl-V-ステップ上記のMurの回答の1)。貼り付けて完了すると、Eclipseは新しいプロジェクト名を要求します。Eclipseプロジェクト名とディレクトリは、アプリケーション名とパッケージとは無関係です。

17
jengelsma

必須タスク:

  1. Eclipseで、プロジェクトをコピーして貼り付けます。 (プロジェクトに新しい名前を付けます)
  2. マニフェストで、パッケージ名を更新して保存します。 (起動設定の更新)
  3. パッケージ名をリファクタリングして名前を変更します。 (参照の更新)

オプションのタスク:

  1. マニフェストで、アプリケーションのラベルとアイコンを変更します。
    アプリケーションをデバイスにインストールしても、最初のアプリケーションと混同されることはありません。
  2. Javaファイル名をリファクタリングして名前を変更します。これにより、元のプロジェクトファイルと混同されなくなります。
  3. プロジェクトでUTF-8などのエンコーディングを使用している場合(英語以外の言語を処理するため)、フォントが正しく表示されるようにこれらのファイルを編集および保存する必要がある場合があります。

注: 2番目のタスクの前に3番目のタスクを実行すると、不要なインポートがJavaクラスに追加されます。これらのインポートを削除する必要があります。

5
Nima K

現在、ADTの一部である自動ツールがあります。

  1. OriginプロジェクトがEclipseで開いていることを確認し、新しい名前にコピー&ペーストします
  2. 新しいプロジェクトを右クリック> Android Tools> Rename Application Package

完了

3
Amir Uval

私は仕事で持っているコードに苦労した後、これを追加したかったです:

パッケージ名を明示的に使用しないでくださいJavaコードは何も重要ではありません。プロジェクトの名前を変更する必要があります。例はgetResource()で、ビットマップソースなどを設定します。そのような

パッケージ名への誤った参照があったようです。その名前は、Context.getPackageName()の代わりにString(例: "com.pakge.mypkg")として明示的に使用されました。

とにかくこのメソッドに到達してみてください。先ほど述べた方法ではうまくいかない可能性があります。他のオブジェクトからメソッド名「getPackageName()」に到達してみてください。

上記のように、あなたがしなければならないのは、プロジェクトをコピーして貼り付け、名前を変更するだけです["myApp.11"]が、この機能はEclipseでバグを起こすことがあります。そのようなケースの1つは、jdkのバージョンが複数ある場合に発生します。これを解決するために、Eclipseは古いバージョンのjdkの名前をアンダースコアに変更します_jdk17.2および再試行。これらのバージョンが必要ない場合は削除してください。

1
Rubber Duck

C:/(すべてのパスが異なる)のワークスペースフォルダーに移動して、プロジェクトフォルダー(プロジェクトA)をコピーし、新しい名前(プロジェクトB)で貼り付けました。エクスプローラーで名前を変更します。次に、Eclipseを使用して、新しいAndroidプロジェクトを新しい名前(プロジェクトB)で作成しました。別の方法で作成しました。

0
Ccorock

もう1つ気づいたのは、Android:label="@string/app_name"を離れると、Settings > Applications > Manage applicationsのアプリケーションのリストでコピーされたアプリを表示するときに元のアプリ名が何らかの形で保持されますが、Android:label="Your App Name"うまくいくようです。

また、古いアイコンを削除して新しいアイコンをインポートすることにより、アイコンを適切に変更してください。

0
ben_nuttall

いくつかのポイントを追加したいだけです。両方のプロジェクトを同じマシンにインストールする場合は、新しいプロジェクトと古いプロジェクトでパッケージ名が異なることを確認してください。

mainfest.xmlで同じものを変更します

0
Droid Anupam

Eclipse Lunaを使用し、以下のように既存のプロジェクト(Project_A)をコピーしようとしました

  1. 新しいJavaプロジェクトを作成します(名前はProject_Bとして)
  2. Project_Bを右クリック(コンテキストメニューを表示)
  3. メニュー項目「インポート...」を選択します(「インポート」ダイアログを表示します)
  4. 「インポートソースの選択」フィールドの下のリストで、「一般」項目を拡張します
  5. サブアイテム「ファイルシステム」をダブルクリックします(「ファイルシステム」ページを表示します)
  6. 「Project_A」ディレクトリのパスを「From directory」フィールドに入力します(または「Browse ...」ボタンをクリックして、「Project_A」のディレクトリを見つけて選択します)
  7. [ディレクトリから]フィールドの下の[Project_A]ディレクトリのチェックボックスをオンにします。
  8. 「Into folder」フィールドにフォルダー名が「Project_B」として表示されているかどうかを確認するには(そうでない場合は、「Browse ...」ボタンをクリックして「Project_B」を見つけて選択します)
  9. [完了]ボタンをクリックします(Project_Bは空なので、これ以上気にする必要はありません)
  10. Project_Aのすべての内容がProject_Bにコピーされ、Project_BをProject_Aとして実行できます(必要な場合はProject_Bをリファクタリングできます)
0
phchen2

評判があまり高くないのでコメントせずに答える必要があります-@jengelsmaが最良の答えを持っていることに同意するために、ただコピーして貼り付けますが、(隠された)SVNファイル(.svnフォルダー内)に注意してください!他のプロジェクトと同じ参照が必要な場合を除き、これらは必要ありません。

これを行うには、チーム>切断し、新しいコピーの「SVNメタデータも削除する」をチェックします。

0
Jon