Android从现有的项目创建一个皮应用
Android从现有的项目创建一个皮应用
0x01 Copy一个新项目
- clean原项目,然后直接Copy原项目所有文件,等待完成
- 根据新项目重命名新文件夹名称
- 删除原项目的
.idea
.git
.gitlab
等文件夹,.gradle
可以不删 - 用编辑器打开
settings.gradle
,修改项目名称rootProject.name = "xxx"
0x02 重命名项目包名
这一步是要将包名从 com.sample1.android
重命名为 com.sample2.android
- 用AndroidStudio打开新项目,去掉
Compat Middle Packages
前面的勾 - 选择项目的
sample1
包名,Shift + F6
重命名 - 一定选择
Rename Package
- 等待完成,项目大时间就比较长
- 修改
.aidl
文件的包名路径和import的路径 - 修改根目录下的
build.gradle
的applicationId "com.sample2.android"
,并sync
ps: 不清楚为啥Kotlin的扩展函数还需要重新手动导入
0x03 推到代码库
到上面这一步,不出意外的话已经可以编译成功并且跑起来了。编译成功之后可以先推送本地项目到代码库。
远程代码库新建项目,获取新项目git地址,然后执行下面操作。
1 | cd existing_folder |
0x04 后续
下面就是修改名称,URL,替换功能啥的。
- Logo、名称、资源文件替换
- H5协议替换
- 域名修改
- 第三方账号切换
0x05 审核相关
现在应用市场对新应用的审核非常严格。为了过审,可能需要做很多相关的工作
- 混淆,或者改文件名
- 资源混淆,或者资源改名
- 增加新功能
- 修改UI界面样式
- 做审核版功能
0x06 问题
0x0601 如果Shift + F6
重命名时没有Rename Package
选项
如果Shift + F6
重命名时没有Rename Package
选项, 并且出现了以下提示,Package 'example' contains directories in libraries which cannot be renamed. Do you want to rename current directory or all directories in project?
,
这是因为依赖包中也存在example这个包名,导致无法直接重命名包名。解决的方案分两种:
方案1. 暂时先移除包含example包名的依赖包,等重命名之后重新添加到项目中
方案2. 只能新建package,然后将要rename的包拖动到新的package中,或者F6
移动
PS:因为无法重命名,刚刚经历了手动移动十几个module的package包路径的痛苦历程。
Android从现有的项目创建一个皮应用
https://denchopen.github.io/blog/2022/09/08/Android从现有的项目创建一个皮应用/