动态部署、远程 bundle 、单模块部署演示 | 学习笔记

简介: 简介:快速学习动态部署、远程 bundle 、单模块部署演示

开发者学堂课程【开源 Android 容器化框架 Atlas 开发者指南: 动态部署、远程 bundle 、单模块部署演示】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/392/detail/5021


动态部署、远程 bundle、单模块部署演示


内容介绍:

一、Atlas Demo Tpatch 构建

二、Atlas Demo 远程 bundle

三、Atlas Demo 单模块部署

一、Atlas Demo Tpatch 构建

参照 Tpatch.txt 文档

1、 app 的 build.gradle 的语句" version =

getEnWalue(""versionName"l"1.0.0");

"中修改想要生成的 app 的 versionName (默认为1.0.0)

app目录下执行./gradlew clean assembleDebug publish

(生成 apk 同时将跟 apk 同目录的 ap 文件发布到仓库)

2、 手机上安装 apk ,同时进到动态部署界面(侧边栏里面划开点击进入),且手机连接电脑 adb(确保 adb devices 可见)

3、 进行一些想要的修改(暂时不支持 manifest 的修改,会在近期上线)

4、 app工程目录下执行./gradlew clean assembleDebug -DapVersion=apVersion -DversionName=newVersion ,其中 apVersion 为之前打的完整apk的版本,newNersion为此次动态部署要生成的新的版本号

5、检查 build/output/tpatch-debug 目录下文件是否生成,然后执行下面的命令(以下为 mac 下的命令, windows 请修改文件分隔符)

adb push build/outputs/tpatch-debug/update.

json. /sdcard/Android/data/com.taobao.demo/cache/update.

json adb push build/outputs/tpatch-debug/patch-*.

tpatch /sdcard/Android/data/com. taobao . demo/cache

6、点击动态部署页面红色按钮执行动态部署

在 FirstBundleActivity 中添加一行

@Override

protected void onResume() {

super.onResume();

Toast.makeText(this,"first bundle. has .changed", Toast.LENGTH_LONG). show();

}

输入命令

ouiwatekiMacBook-Pro:app wangyan$ ../gradlew clean assembleDebug -DapVersion=1.0.0 -DversionName=1.0.1

base.apk 文件表示之前发布得机械版本的 apk 文件, new.apk 文件表示改动后生成的 apk 文件

在 update.json 文件

{

"baseVersion": "1.0.0",

"updateBundles": [

{

"dependency": [],

"isMainDex" : false,

"name" : " com.taobao-firstbundle",

"version" : ""1.0.0@unspecified"

},

{

"isMainDex":true,

"name"' : "com.taobao-maindex",

"version" : "1.0.0@1.0.1"

}

],

"updateVersion": "1.0.1"

}

输入命令调试:

ouiwatekiMacBook-Pro:tpatch-debug wangyan$ unzip patch-1.0.1\@1.0.0.tpatch -d unzippatch

输入命令,将文件推送到手机:

ouiwatekiMacBook-Pro:app wangyan$ adb push build/outputs/tpatch-debugfupdate.json/sdcard/Android/data/com.taobro.deno/ cache/update. Json

ouiwatekilacBook-Proapp wangyans adb push build/outputs/ tpatch-debug/patch-1.0.1\1.0.8.tpatch/sdcard/Android/data/com.taobao.demo/cache)


二、Atlas Demo 远程 bundle

远程 bundle 不会打包进 apk 中

adb push build/outputs/remote-bundles-debug/libcom_taobao_remote

bundle.so /sdcard/Android/dat

输入命令,将 Demo 推送到移动设备

ouinateailacEook-Prozapp wanyans adb push build/outputs/renote-tundles-debug/libcon_taobeo_remotebunle. so /sdcrd/Aadroid/data/com.taobo.demno/cache


三、Atlas Demo 单模块部署

营营可要重言 APP 生效

cd firstbundle

lgradlew.bat clean assemblePatchDebug

修改 Toast 提示:

@Override

protected void onResume(){

super.onResume();

Toast.makeText(this,"sigle bundle. publish",Toast.LENGTH_LONG).show();

}

输入命令并执行:

ouiwatekiMacBook-Pro:app wangyan$ cd ..

ouiwatekiMacBook-Pro:AtlasDemo wangyan$ cd firstbundle/

ouiwatekiMacBook-Pro:firstbundle wangyan$ ../gradlew clean assemblePatchDebug

将 firstbundle 发布,修改 build.gradle 文件,拷贝命令文件并修改:

group = "com.tabao.android.atlasdemo '

version = "1.0.0";

apply plugin:'maven

apply plugin: " maven-publish'

publishing {

repositories i

mavenLocal()

}

}

publishing {

publications {

maven(MavenPublication) {

Artifact" $project.buildDir}/outputs/awb/siproject.name}-debug.awb"

artifactId "firstbundle"

}

}

}

执行发布命令:

ouiwatekiMacBook-Pro:firstbundle wangyan$ ../gradlew build publish

打开本地仓库查看:

ouiwatekiMacBook-Pro:firstbundle wangyan$ open ~/.m2/repository/

输入命令,进入到 APP 目录下执行构建:

ouiwatekiMacBook-Pro:firstbundle wangyan$ cd ..

ouiwatekiMacBook-Pro:AtlasDemo wangyan$ cd app/

ouiwatekiMacBook-Pro:app wangyan$ ../gradlew clean

执行构建

ouiwatekiMacBook-Pro:app wangyan$ ../gradlew assembleDebug

相关文章
|
7月前
|
Java 关系型数据库 数据库
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
105 0
|
2月前
|
区块链
【智能合约】新版Remix编写实现第一个HelloWorld
【智能合约】新版Remix编写实现第一个HelloWorld
49 2
|
3月前
|
机器学习/深度学习 算法 TensorFlow
演示视频 and 完整代码 and 远程安装
本项目展示了卷积神经网络(CNN)在图像处理中的应用,包括系统效果图片和演示视频。CNN通过局部连接、权重共享及层次化特征提取等特性高效处理图像数据。提供的示例代码展示了如何使用Keras构建一个简单的CNN模型,并进行了模型编译与结构输出。更多详情与完整代码,请访问:[链接](https://www.yuque.com/ziwu/yygu3z/pnrng41h0sg5f5tf)。
32 5
|
5月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
7月前
|
Android开发
自动化脚本之Android系统修改推送
自动化脚本之Android系统修改推送
33 0
|
7月前
|
XML Java API
Android 浅度解析:系统框架层修改,编译,推送相关操作
Android 浅度解析:系统框架层修改,编译,推送相关操作
258 0
|
7月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
191 0
|
开发工具 iOS开发 git
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
321 0
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
|
前端开发 JavaScript API
鸿蒙应用开发项目新建过程与hap包生成方法
今天主要和大家聊一聊,如何利用DevEco Studio创建工程项目,应用层的开发需要知道其中的配置方法。
983 0
鸿蒙应用开发项目新建过程与hap包生成方法
harmonyOS:Service远程设备启动和停止的演示
紧接着上篇,这次来实现远程设备的Service启动和关闭,打开两个远程设备,写好代码后,开始实操 1.先在第一个设备运行程序,然后选择始终允许
harmonyOS:Service远程设备启动和停止的演示