Androidプロジェクトをコピーして、同じファイルから新しいプロジェクトを別の名前で作成したいと思います。これの目的は、アプリストアで広告がサポートされているアプリの2番目のバージョンを使用できるようにすることです。
私はここでこの答えを見つけました:
しかし、それはEclipse用です。 Android Studioでこれを行うにはどうすればよいですか?
指定したリンクの手順は、Android Studioでも機能するはずです。モジュールフォルダー全体のコピーを(ファイルマネージャーを使用して)作成し、新しい名前を付けます。それを開き、Refactor -> Rename
(名前を変更したい項目を右クリック)を使用して、モジュールとパッケージの名前を変更します。
IntelliJ/Android Studioでのリファクタリングの詳細については、 this をご覧ください。
Gradleを使用する場合は、app/build.gradleファイルのapplicationId属性を変更することを忘れないでください。
free3domが指摘した のように、次のようにする必要があります。
build.gradle
ファイルを手動で編集して、パッケージ名を変更します(ファイルマネージャーを使用できます)。AndroidManifest.xml
を手動で編集して、パッケージ名を変更します。gradle sync
を実行します。それは問題なく動作するようです。
Android Studioの最新バージョンを使用している場合、これを支援することができます。
注:これはAndroid Studio 3.0でのみテスト済みです。
手順は次のとおりです。
プロジェクトビュー(これは、画面の左側のキャプチャと構造とともに表示されます)で、Androidの代わりにProjectを選択します。
プロジェクトの名前は、ツリーの最上部になります(外部ライブラリとともに)。
プロジェクトを選択し、Refactor -> Copy...
に移動します。
Android Studioは、新しい名前とプロジェクトのコピー先を尋ねます。同じものを提供します。
コピーが完了したら、Android Studioで新しいプロジェクトを開きます。
パッケージは以前のプロジェクト名のままです。
それは、Javaクラスパッケージ、アプリケーションID、および古いパッケージ名を使用して生成されたその他すべてです。
それを変更する必要があります。
プロジェクトビューで、Androidを選択します。
Javaサブディレクトリを開き、メインパッケージを選択します。
それを右クリックし、Refactor
に移動してからRename
に移動します。
Android Studioは、リファクタリングしようとしているパッケージに複数のディレクトリが対応しているという警告を表示します。Rename package
およびnotRename directory
をクリックします。
このステップの後、プロジェクトは完全に新しい名前になります。
Build -> Clean project
、次にBuild -> Rebuild project
。これの目的は、アプリストアで広告がサポートされているアプリの2番目のバージョンを使用できるようにすることです。
現在、それを行うための最良の方法はコピーなしプロジェクトです。build.gradle
ファイルで異なるフレーバーを使用して実行できます。
productFlavors {
flavor1 {
applicationId = "com.example.my.pkg.flavor1"
}
flavorAdSUpport {
applicationId = "com.example.my.pkg.flavor2"
}
}
この方法では、ファイルのコピーのみがあり、違いを簡単に処理できます。
私はこれらの手順に従っていますが、これまでのところ機能しています:
これは、nt.basの回答と、Civicの回答のステップ9と視覚的な例を組み合わせたものです。Android Studioを初めて使用するので、何を意図しているかを見つけるのに時間がかかったからです。 Android Studio 3.2.1でテスト済みです。
Android Studioでクローンを作成するプロジェクトを開きます。 (この例では、古いプロジェクト名はtest5
で、新しいプロジェクト名はtest6
でした)
左側のファイル概要ペインで、[プロジェクト](現在Androidと表示されている場所)をクリックします。
App/res/values/strings.xmlを開き、古いプロジェクトの名前(test5など)を次の行のプロジェクトの新しい名前に変更します。
<string name="app_name">test5</string>
Gradle scripts/build.gradle(Module:app)を開き、行を新しいプロジェクト名と同じ行に変更します:%fig4
applicationId "com.example.a.test5"
Android Developer Fundamentals Course Practicals gitbookの付録には、既存のプロジェクトをコピーして名前を変更する手順が含まれています。
Android Studioでパッケージ名をリファクタリングするとき、package/Android/project/etcの右側にある小さな歯車をクリックする必要がある場合があります。パッケージ名の各部分が独自のディレクトリとして。次に、個々のディレクトリに対してリファクタリングを行います。
私はAndroid 3.3を使用していますが、それは私にとってどのように機能したのですか:
1-プロジェクトビューを選択します
2-プロジェクトのルートにあるプロジェクト名を右クリックし、refactor -> copy
オプションを選択すると、新しい名前を選択するウィンドウが表示されます。
3-ステップ2の後、Androidは新しいプロジェクトを作成します。新しいプロジェクトを新しい名前で開く必要があります
4-「string.xml」でアプリの名前を変更します。「app/res/values/string.xml」にあります
これで、同じ名前の新しいプロジェクトが作成されました。パッケージの名前を変更したい場合は、次の手順で説明します
(オプション)パッケージの名前を変更するにはmain
5-「app/Java」に移動し、同じ名前の3つのフォルダー、メインフォルダー、(androidTest)
および(test)
があります。メインフォルダーを右クリックしてformat -> rename
を選択します、複数のディレクトリがそのパッケージに対応しているという警告が表示されたら、[パッケージの名前を変更]をクリックします。新しい名前を選択して、リファクタリングをクリックします。ここで、コードビューの下に、リファクタリングのプレビューがあります。[リファクタリングを行う]をクリックします。
6-[ビルド]オプションに移動し、[プロジェクトのクリーン]、[プロジェクトの再ビルド]の順にクリックします。
7-プロジェクトを閉じて、再度開きます。
nt.bas answer からの引用:
Android Studioの最新バージョンを使用している場合、これを支援することができます。
注:Android Studio 3.0のみでこれをテストしました。
手順は次のとおりです。
プロジェクトビュー(これは、画面の左側のキャプチャと構造とともに表示されます)で、Androidの代わりにProjectを選択します。
プロジェクトの名前は、ツリーの最上部になります(外部ライブラリとともに)。
プロジェクトを選択し、Refactor -> Copy...
に移動します。
Android Studioは、新しい名前とプロジェクトのコピー先を尋ねます。同じものを提供します。
コピーが完了したら、Android Studioで新しいプロジェクトを開きます。
パッケージは以前のプロジェクト名のままです。
それは、Javaクラスパッケージ、アプリケーションID、および古いパッケージ名を使用して生成されたその他すべてです。
それを変更する必要があります。
プロジェクトビューで、Androidを選択します。
Javaサブディレクトリを開き、メインパッケージを選択します。
それを右クリックし、Refactor
に移動してからRename
に移動します。
Android Studioは、リファクタリングしようとしているパッケージに複数のディレクトリが対応しているという警告を表示します。Rename package
をクリックし、notRename directory
をクリックします。
このステップの後、プロジェクトは完全に新しい名前になります。
Build -> Clean project
、次にBuild -> Rebuild project
。ここまでは、プロジェクト名全体を変更するだけです。パッケージ名を変更するには、 gnyrfta answer に従う必要があります。
Android Studioでパッケージ名をリファクタリングするとき、package/Android/project/etcの右側にある小さな歯車をクリックする必要がある場合があります。パッケージ名の各部分が独自のディレクトリとして。次に、個々のディレクトリに対してリファクタリングを行います。
PS:あなたが持っている場合
セッションの終了に失敗しました:INSTALL_FAILED_INVALID_APK:分割lib_slice_0_apkが複数回定義されました
Appmoduleのビルドフォルダーを削除して、プロジェクトをリビルドするだけです!
これで問題が解決します!
プロジェクトをコピーするときは、C:...\AndroidStudioProjects(project_name)\ app\build\intermediates\classes\release ...ディレクトリから元の残りの中間ビルド(someActivity $ 4.class)ファイルも削除する必要があります。そうしないと、コピーしたプロジェクトをコンパイルしようとすると、新しいプロジェクトのビルドがほぼ確実に失敗します。リファクタリングはこれを解決しません。
プロジェクトがあるソースフォルダーに移動します。
->Settings.gradle
に移動します。':your new project name '
を含める次の問題がありました。
Android Studioバージョン:3.3.2
.idea/workspace.xmlファイルを削除するまで。
$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux
その前に、Android Studioは元のソースフォルダーをポイントし、すべての名前変更は元のソースファイルに適用されました(上記の例のTestcopysource内)。