我已经在Eclipse中完成了重构-> 重命名,并且项目在Eclipse中已成功更名。但是当我将其复制/粘贴到文件夹中时,它仍然保留旧名称。
我该如何完全重命名它?
打开项目文件夹中的.project
文件,并更改其中以下值。
您需要更改其中的项目名称。
另一种方式是,从“项目资源管理器”中复制旧项目,并将其粘贴到此处,它会要求输入新名称,输入新名称即可完成。
1) 右键单击您的包 -> 重构 -> 重命名。选择更新引用和重命名子包。
2) 在AndroidMenifest.xml中更改packagename。
package=”com.example.new_package_name”
3)在resources->values->string.xml中,将app_name更改为"new_name"
<string name="app_name">"new_name"</string>
Rename Project:
Copy the project directory
“Nucleo-H743ZI_Jack_01-”
“Nucleo-H743ZI_Jack_010 - Copy”
Rename it to the new name
“Nucleo-H743ZI_Jack_010 - Copy”
“Nucleo-H743ZI_Jack_011_tcp”
Rename this directory
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_010”
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp”
Rename these files
“Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_010.ioc”
“Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_011_tcp.ioc”
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_010.elf.launch”
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_011_tcp.elf.launch”
Change these files
“Nucleo-H743ZI_Jack_011_tcp\.mxproject” (3 occurrences)
“Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_011_tcp.ioc” (2 occurrences)
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\.cproject” (3 occurrences)
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\.project” (1 occurrence)
“Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\Nucleo-H743ZI_Jack_011_tcp.elf.launch” (5 occurrences)
Note: also get rid of absolute paths in Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp\.project
Open project
File -> Open Project from File System…
Directory: “Nucleo-H743ZI_Jack_011_tcp\TrueSTUDIO\Nucleo-H743ZI_Jack_011_tcp”
Click OK and Finish
chproj.py
# Changed the name of an TrueStudio project
import os
import sys
def inplace_change(filename, old_string, new_string):
# Safely read the input filename using 'with'
with open(filename) as f:
s = f.read()
if old_string not in s:
print '"{old_string}" not found in {filename}.'.format(**locals())
return
# Safely write the changed content, if found in the file
with open(filename, 'w') as f:
print 'Changing "{old_string}" to "{new_string}" in {filename}'.format(**locals())
s = s.replace(old_string, new_string)
f.write(s)
# Getting the current work directory (cwd)
dir_abs = os.getcwd()
dir_abs_split=dir_abs.split('\\')
n = len(dir_abs_split)
dst_dir = dir_abs_split[n-1]
new_name = dst_dir
print dir_abs
# Get original name
#src_dir = os.listdir(ts_dir)[0]
#old_name = src_dir
#print "old_name: " + old_name
mxproject_filename = dir_abs + "\.mxproject"
with open(mxproject_filename) as f:
content = f.readlines()
second_line = content[1]
#print second_line
second_line_split=second_line.split('/')
n=len(second_line_split)
old_name = second_line_split[n-2]
print "old_name: " + old_name
print "new_name: " + new_name
ioc_filename_old = dir_abs + "\\" + old_name + ".ioc"
ioc_filename_new = dir_abs + "\\" + new_name + ".ioc"
ts_dir = dir_abs + "\TrueSTUDIO"
ts_name_old = ts_dir + "\\" + old_name
ts_name_new = ts_dir + "\\" + new_name
elf_launch_old = ts_dir + "\\" + new_name + "\\" + old_name + ".elf.launch"
elf_launch_new = ts_dir + "\\" + new_name + "\\" + new_name + ".elf.launch"
cproject = ts_dir + "\\" + new_name + "\.cproject"
project = ts_dir + "\\" + new_name + "\.project"
print "Change path in " + project
new_path = "PARENT-2-PROJECT_LOC"
old_path = dir_abs.replace("\\", "/")
old_path = old_path.replace("c:", "C:")
print old_path
print new_path
if os.path.isfile(project):
# file exists
print "Modify file " + project
inplace_change(project, old_path, new_path)
if (new_name == old_name):
print "Nothing else to change"
sys.exit(0)
print "Rename directories and files:"
#os.rename(src, dst)
if os.path.isdir(ts_name_old):
# dir exists
print "Rename directory " + ts_name_old + " to " + ts_name_new
os.rename(ts_name_old, ts_name_new)
#os.rename(src, dst)
if os.path.isfile(ioc_filename_old):
# file exists
print "Rename file " + ioc_filename_old + " to " + ioc_filename_new
os.rename(ioc_filename_old, ioc_filename_new)
if os.path.isfile(elf_launch_old):
# file exists
print "Rename file " + elf_launch_old + " to " + elf_launch_new
os.rename(elf_launch_old, elf_launch_new)
print "Replace strings in files:"
if os.path.isfile(cproject):
# file exists
print "Modify file " + cproject
inplace_change(cproject, old_name, new_name)
if os.path.isfile(project):
# file exists
print "Modify file " + project
inplace_change(project, old_name, new_name)
inplace_change(project, old_path, new_path)
if os.path.isfile(ioc_filename_new):
# file exists
print "Modify file " + ioc_filename_new
inplace_change(ioc_filename_new, old_name, new_name)
if os.path.isfile(elf_launch_new):
# file exists
print "Modify file " + elf_launch_new
inplace_change(elf_launch_new, old_name, new_name)
if os.path.isfile(mxproject_filename):
# file exists
print "Modify file " + mxproject_filename
inplace_change(mxproject_filename, old_name, new_name)
复制并粘贴Android项目并创建一个新项目非常方便。请按照以下步骤操作:
A. 如果您正在使用Eclipse,您需要做的第一件事是打开要复制的项目(不要忘记打开需要复制的项目),然后在Eclipse左侧的资源管理器窗口中克隆(复制/粘贴)您的Android项目。 当您粘贴时,Eclipse会要求您输入新项目名称。给它一个新的项目名称。 由于Eclipse项目名称和目录与应用程序名称和包无关, 下面的步骤将帮助您如何更改包名称。注意:有两种类型的包名称。 (在清单文件中指定的主包和包含所有Java文件的子包)
1. After you get done above step, to change Application package name(main package), follow the following steps:
First right click your project
Then go to "Android tools"
Then select "Rename Application package"
Enter a new name in a dialogue window , and hit OK.
Then It will show you in which part of your project the Application name will be changed. It will show you that
the Application name will be changed in manifest, and in most relevant Java files. Hit "OK"
YOU DONE in this part, but make sure you rebuild your project to take effect.
To rebuild your project, go to ""project" >>> "Clean" >>>> select a Project from a projects list, and hit "OK"
Finaly, you can run your new project.
2. To change src package(sub package) names of packages within Src folder follow the following steps:
First you need to create new package: (src > right click > new > package).
Example of creating package: com.myCompany.executable
Follow these steps to move the Java files from the old that has already been copied package in part A to your new package.
Select the Java files within that old package
Right click that java files
select "Refactor" option
select "Move" option
Select your preferred package from the list of packages in a dialogue window. Most probably you need to select the new one you just created and hit "OK"
对于那些使用Android Studio的人,点击这里就可以轻松完成。