Last active
December 3, 2019 12:56
-
-
Save x011/040e0a6b83b7c3aa311024bbf5cc21cc to your computer and use it in GitHub Desktop.
Change Android Studio Package Name
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Notes: | |
1 - This script it for python3 | |
2 - Create a backup first | |
3 - Place on the root folder of the android project you want to change | |
4 - run `python change_android_studio_pkg_name.py` | |
5 - Type the old package name | |
6 - Type the new package name | |
7 - Clean and Rebuild on Android Studio | |
8 - SRC folder names won't be changed but app will work | |
""" | |
import os, glob, traceback | |
from pathlib import Path | |
def rwf(fp, mode="r", data="" ): | |
if mode == "r": | |
with open(fp, "r", encoding='utf8') as f: | |
return(f.read()) | |
elif mode == "w": | |
with open(fp, "w", encoding='utf8') as f: | |
f.write(data) | |
old_pkg = input("Old PKG\n").strip() | |
new_pkg = input("New PKG\n").strip() | |
if not old_pkg or not new_pkg: | |
exit("Args Missing") | |
dirname, filename = os.path.split(os.path.abspath(__file__)) | |
file_types = ['xml', 'txt', 'json', 'gradle', 'java'] | |
_fs = glob.iglob(f"{dirname}/**", recursive=True) | |
for file_path in _fs: | |
ext = Path(file_path).suffix.replace(".", "").lower() | |
if os.path.isfile(file_path) and ext in file_types: | |
try: | |
content = rwf(file_path) | |
new_content = content.replace(old_pkg, new_pkg) | |
rwf(file_path, "w", new_content) | |
except: | |
print(traceback.format_exc()) | |
pass | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment