如何迅速上架应用:解决Google Play开发者账户被封的问题(如何上架应用商店)(应用怎么上架)

访客 242 0

本篇不保证百分之百成功,但至少在我们内部,此操作是成功上架到Google Play 并保持超半年还在的。

接下来我们将详细讨论具体的行动计划

1. App Name

建议选择一个与之前不同的名称。建议在相关网站上搜索该名称,查看是否存在其他同名情况,特别是对方已经进行商标保护的情况下,更应避免使用相同的名称。

参考:https://apkcombo.com/zh/
需VPN

2. 包名

同样地,选择一个与之前不同的选项。

同时,举例来说,假设公司名称简称为SL,建议在包名中避免使用SL。

例如:不建议使用类似于 eg:com.sl.appname 这样的命名方式。

3. Logo

设计一个新的即可

4. 签名

生成一个全新的jks文件,并且将密码和名称进行更改,确保与之前的文件完全无关。

比如在公司名称简称的选择上,建议避免使用sl这个组合。

5. 域名

购买一个全新的域名,每个应用都使用独立的域名。

6. 项目结构目录

对结构目录进行调整,包括名称和嵌套顺序等方面的修改。

7. 文件名(类名、布局文件名、资源文件名)

对所有的类名、布局文件名和资源文件名进行修改。

8. 如果有相应的依赖Module

还可以对包名、项目结构目录和文件名进行调整。

9. UI

特别是在重新设计启动页和首页时,最好选择与之前有明显变化的主题色。

10. 图标

需要对图标的文件名进行全面修改,仅仅修改文件名并不足以改变一个文件的MD5值,因此还需要对文件内容进行修改。

还可以对图片进行压缩、格式转换,png convert to webp

或将webp转换为png格式

11. 布局文件的控件id

例如,之前的按钮名称是btn_login,现在将其调整为btn_submit等其他名称。

12. 布局文件的控件类型

举个例子,之前使用的是LinearLayout,现在需要将其调整为androidx.appcompat.widget.LinearLayoutCompat。

比如之前是TextView,调整为androidx.appcompat.widget.AppCompatTextView

13.strings.xml

比如之前是

密码 
```xml
密码
```

14. 代码混淆

可参考1:https://github.com/king-ma1993/AndroidProguadRules

建议根据每个app的需要,对bt-proguard.txt文件进行相应的替换,以确保每个app都有不同的混淆内容。

“Android绝妙的词汇宝典”

常规的混淆方式,如abcd等,并不能对逆向工程产生很大的干扰。因此,我们需要一个独特的字典来进行变态操作。使用方法如下:

在proguard-rules.pro文件中进行设置

请参考以下链接了解更多信息:https://github.com/bytedance/AabResGuard/blob/develop/wiki/zh-cn/README.md。 

对aab包的资源处理

15. ARouter

如果您使用了ARouter路由框架,我们建议您进行相应的修改。

比如之前路由表

const val HOME: String = "/app/home"

调整为

const val INDEX: String = "/newapp/index"

16. 接口映射

举个例子

比如之前登录接口是

@POST(sl/app/login)
suspend fun login(@Body params: HashMap): NetResult 
可以看到有几个变化,@POST(ax/FEW/MQx)suspend fun loginInter(@Body params: HashMap): BaseResult 

1、接口请求的具体地址发生了变化。

2、NetResult的返回请求已经发生了变化。

3、返回的实体名称也发生了变化。

4、接口请求的方法名称也发生了变化。

如果公司内部有多个应用程序,每个应用程序生成的具体请求地址都是不同的。

每个app都配备了相应的请求头。

比如之前是

HashMap<String, String> map = new HashMap<>();
map.put(appName, AppName);
val map = HashMap()
map[xAfew] = AppName
最后再进行加密

17. 未混淆的类(实体类等)

比如之前是

data class LoginResultEntity(
    val token: String? = ,
    val avatar: String? = 
) 

1、名称变更

2、增加垃圾字段

```kotlin
data class LoginEntity(
    val a: String = ,
    val b: String = ,
    val token: String? = null,
    val avatar: String? = null,
    val c: String = 
)
```

18. 优化代码结构

对代码进行优化

请参考以下链接:https://github.com/qq549631030/AndroidJunkCode。需要注意的是,确保垃圾代码在混淆过程中不被混淆。

19. 变量、方法名

在混淆过程中,大多数变量和方法都会被重新命名。

特别需要注意的是,在打包的aab文件中,必须对没有重名的文件进行相应修改。

可以使用工具 jadx-gui 来查看。

20. 三方库

进行相关三方库的升级,或者考虑使用其他相关库进行替换。

21. 三方SDK key

关于使用的一些三方SDK

以AppFlyer为例,每次创建一个新的应用程序都会生成一个dev key。默认情况下,每个应用程序的dev key在AppFlyer中是相同的。如果需要更改,请与相关商户联系。

标签: 文件名 名称 文件

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~