修改安卓apk设置为安卓主屏幕(launcher)

修改安卓apkapk可以设置安卓主屏幕

原理: 将打包好的apk文件进行拆包增加配置文件在重新编译回apk包

需要得相关文件下载

解包

  1. apktool :https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd=5j2x
  2. dex2jarhttps://pan.baidu.com/s/1Nc-0vppVd0GPnD6_Y-SRBA?pwd=cmke
  3. jd-guihttps://pan.baidu.com/s/1ckfGv0cyzC7e-DA3lDdv4w?pwd=l0lz

签名

用来将编译好的包重新签名。

  1. Auto-Sign:https://pan.baidu.com/s/1foGt50h4EWQNjFvyTGQWDg?pwd=d9f1

开始解包

为了方便,把工具(apktool.jar)和apk文件放在一个文件夹中*(非必须,本人把apk复制到了文件夹里面);

shell 复制代码
java -jar apktool.jar d -f card.apk -o card --only-main-classes

解包之后得

进入card文件夹 找到 AndroidManifest.xml

用编辑器打开且全局搜索 android:name="io.dcloud.PandoraEntry"

在里面新增下面四行代码

java 复制代码
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

<category android:name="android.intent.category.HOME"/>

<category android:name="android.intent.category.DEFAULT"/>

编译回apk

新建一个apktool.bat文件用记事本编辑新增内容,文件存位置。

java 复制代码
@echo off

if "%PATH_BASE%" == "" set PATH_BASE=%PATH%

set PATH=%CD%;%PATH_BASE%;

chcp 65001 2>nul >nul

java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*

用管理员的方式打开cmd 并且切换到 文件位置

file 是解包出来的文件夹

shell 复制代码
apktool b card

解出来之后会在文件夹下的dist文件下面

重新签名

https://pan.baidu.com/s/1foGt50h4EWQNjFvyTGQWDg?pwd=d9f1

  1. 解压下载的签名文件
  2. 将重新打包(使用apktool)后的card.apk改名为update.zip放到Auto-sign目录下
  3. cmd 切换到Auto-sign目录
  4. 执行 java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip


测试图片

相关推荐
Revolution617 小时前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
码农coding7 小时前
android12 systemUI 之锁屏
android
圆山猫7 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v
爱笑鱼7 小时前
Binder(七):getCallingUid() 读到的是谁?clearCallingIdentity() 又清掉了什么?
android
用户2181697049308 小时前
Flutter(四)Dart语法 空安全 运算符 流程控制
前端
许彰午8 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
用户69371750013848 小时前
AI时代,程序员该往哪走?
前端·后端
ttwuai8 小时前
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
前端·golang
易筋紫容8 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
半句唐诗9 小时前
我是如何通过 Access Token 成功发布第一个 npm 包的
前端·npm·node.js