动态部署、远程 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

相关文章
|
12月前
|
iOS开发
完整版在xcode打测试专用ipa包流程​
完整版在xcode打测试专用ipa包流程​
|
7天前
|
机器学习/深度学习 算法 TensorFlow
演示视频 and 完整代码 and 远程安装
本项目展示了卷积神经网络(CNN)在图像处理中的应用,包括系统效果图片和演示视频。CNN通过局部连接、权重共享及层次化特征提取等特性高效处理图像数据。提供的示例代码展示了如何使用Keras构建一个简单的CNN模型,并进行了模型编译与结构输出。更多详情与完整代码,请访问:[链接](https://www.yuque.com/ziwu/yygu3z/pnrng41h0sg5f5tf)。
20 5
|
2月前
|
JSON Android开发 数据格式
Android项目架构设计问题之在远端动态配置中添加相应配置如何解决
Android项目架构设计问题之在远端动态配置中添加相应配置如何解决
26 0
|
5月前
|
编解码 Linux Android开发
​ToDesk远程工具安装及使用方法
前言 远程桌面是我们日常生活中经常会用到的情况,特别是最近两年这项功能被运用的场景越来越多,包括居家远程办公,远程解决问题,等等都会用到。 ToDesk 介绍 跨平台支持:Windows, macOS , iOS , Android , Linux且适配各种分辨率屏幕,多屏幕设备,只需要不同设备上安装一个ToDesk软件,就可以实现多平台一键远程操控。 稳定性进一步提升,不限速,能在各种复杂结构网络、弱联网下运作良好。
324 0
|
PHP 开发工具 git
如何将自己的扩展发布到Composer包仓库?具体步骤是怎样的?底层原理是什么?
如何将自己的扩展发布到Composer包仓库?具体步骤是怎样的?底层原理是什么?
267 0
|
开发工具 iOS开发 git
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
308 0
iOS 开发 - 亲身经历告诉你如何把自己的库通过pod导入(详细步骤)
|
前端开发 JavaScript API
鸿蒙应用开发项目新建过程与hap包生成方法
今天主要和大家聊一聊,如何利用DevEco Studio创建工程项目,应用层的开发需要知道其中的配置方法。
826 0
鸿蒙应用开发项目新建过程与hap包生成方法
|
Shell Python
Fabric 源码学习:如何实现批量管理远程服务器?
简单来说,它是一个用 Python 开发的轻量级的远程系统管理工具,在远程登录服务器、执行 Shell 命令、批量管理服务器、远程部署等场景中,十分好用。 Fabric 2 是其最新的大版本,跟早前的 Fabric 1 有挺大的不同,更加好用了,但是没填上的坑也挺多的……
179 0
Fabric 源码学习:如何实现批量管理远程服务器?
|
开发框架 开发工具 数据安全/隐私保护
iOS 开发创建CocoaPods公有库以及subspec分支功能(上)
iOS 开发创建CocoaPods公有库以及subspec分支功能
371 0
iOS 开发创建CocoaPods公有库以及subspec分支功能(上)
|
iOS开发 索引 Perl
iOS 开发创建CocoaPods公有库以及subspec分支功能(下)
iOS 开发创建CocoaPods公有库以及subspec分支功能
430 0
iOS 开发创建CocoaPods公有库以及subspec分支功能(下)