Suche senden
Hochladen
Android快速发布&持续集成
•
Als PPTX, PDF herunterladen
•
3 gefällt mir
•
1,123 views
W
whykill
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 11
Jetzt herunterladen
Empfohlen
數學系的資訊人生
數學系的資訊人生
Jintin Lin
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
Gelis Wu
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
Gelis Wu
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局 long
Meng-Ru (Raymond) Tsai
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
Gelis Wu
Phonegap入門
Phonegap入門
Roy Chen
Asp.net mvc 基礎
Asp.net mvc 基礎
Gelis Wu
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
Sam Lee
Empfohlen
數學系的資訊人生
數學系的資訊人生
Jintin Lin
前端大型系統的基石 TypeScript
前端大型系統的基石 TypeScript
Gelis Wu
Net 6 的 blazor 開發新視界
Net 6 的 blazor 開發新視界
Gelis Wu
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局 long
Meng-Ru (Raymond) Tsai
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
架構設計好簡單系列 設計符合團隊的範本精靈 (Project template)
Gelis Wu
Phonegap入門
Phonegap入門
Roy Chen
Asp.net mvc 基礎
Asp.net mvc 基礎
Gelis Wu
JSDC 2015 React-Native 實戰
JSDC 2015 React-Native 實戰
Sam Lee
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
升煌 黃
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
Gelis Wu
軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)
Gelis Wu
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
Tom Fan
Crazy talk6 产品说明
Crazy talk6 产品说明
mobiku
Modern web 2020 - 使用 Nx 管理超大型前後端專案
Modern web 2020 - 使用 Nx 管理超大型前後端專案
升煌 黃
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
美团点评技术沙龙05 - H5在线制作发布平台dpub
美团点评技术沙龙05 - H5在线制作发布平台dpub
美团点评技术团队
2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
Guan-Rong Huang
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
zhengyiwuxian
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
Edward Kuo
Tabela periódica
Tabela periódica
Marcos Paulo
Presentacio del disc dur
Presentacio del disc dur
Adria Vendrell
Historia informatica
Historia informatica
carlosvt98
Ziakam - VCT 4670 - Final Client Project Presentation
Ziakam - VCT 4670 - Final Client Project Presentation
nziakam
Presentation00
Presentation00
Atanas Sarafov
Miguel de Cervantes
Miguel de Cervantes
RosaGL
NaNa
NaNa
Atanas Sarafov
Trabalho Saf Itatiba 2012
Trabalho Saf Itatiba 2012
Nair Zucaratto Lisardo
MACBET Journal Evaluation "The Book of Outcomes"
MACBET Journal Evaluation "The Book of Outcomes"
Onur Oguz Dellal
Powerpoint
Powerpoint
lucimb
Weitere ähnliche Inhalte
Was ist angesagt?
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
升煌 黃
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
Gelis Wu
軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)
Gelis Wu
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
Gelis Wu
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
Tom Fan
Crazy talk6 产品说明
Crazy talk6 产品说明
mobiku
Modern web 2020 - 使用 Nx 管理超大型前後端專案
Modern web 2020 - 使用 Nx 管理超大型前後端專案
升煌 黃
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术团队
美团点评技术沙龙05 - H5在线制作发布平台dpub
美团点评技术沙龙05 - H5在线制作发布平台dpub
美团点评技术团队
2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
Guan-Rong Huang
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
zhengyiwuxian
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
Edward Kuo
Was ist angesagt?
(12)
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
Angular Taiwan 2019 - 大型 Angular 專案的的管理心得與技巧
使用 .NET Standard 開發跨平台應用程式
使用 .NET Standard 開發跨平台應用程式
軟體開發之路甘苦談(Gelis)
軟體開發之路甘苦談(Gelis)
實踐 Clean Architecture(實作高可用性的軟件架構)
實踐 Clean Architecture(實作高可用性的軟件架構)
HTML5 生态系统和应用架构模型
HTML5 生态系统和应用架构模型
Crazy talk6 产品说明
Crazy talk6 产品说明
Modern web 2020 - 使用 Nx 管理超大型前後端專案
Modern web 2020 - 使用 Nx 管理超大型前後端專案
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙011 - 客户端用户体验数据量化
美团点评技术沙龙05 - H5在线制作发布平台dpub
美团点评技术沙龙05 - H5在线制作发布平台dpub
2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
Appcan移动应用开发平台介绍120409
Appcan移动应用开发平台介绍120409
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
Andere mochten auch
Tabela periódica
Tabela periódica
Marcos Paulo
Presentacio del disc dur
Presentacio del disc dur
Adria Vendrell
Historia informatica
Historia informatica
carlosvt98
Ziakam - VCT 4670 - Final Client Project Presentation
Ziakam - VCT 4670 - Final Client Project Presentation
nziakam
Presentation00
Presentation00
Atanas Sarafov
Miguel de Cervantes
Miguel de Cervantes
RosaGL
NaNa
NaNa
Atanas Sarafov
Trabalho Saf Itatiba 2012
Trabalho Saf Itatiba 2012
Nair Zucaratto Lisardo
MACBET Journal Evaluation "The Book of Outcomes"
MACBET Journal Evaluation "The Book of Outcomes"
Onur Oguz Dellal
Powerpoint
Powerpoint
lucimb
Test presentation
Test presentation
Annie Cheng
Proxecto abalar
Proxecto abalar
Mar Andion Rodriguez
Caligramas
Caligramas
marinhadiaz
Para diabeticos
Para diabeticos
eleazar gonzalez
Camara,audio i video
Camara,audio i video
laiaolle
Toxico dinamia y toxico cin utica
Toxico dinamia y toxico cin utica
Wilderin Moreno Cano
Nodejsによるapiサーバ構築事例
Nodejsによるapiサーバ構築事例
Hidetoshi Mori
Twins of Faith 2012 notes (arina)
Twins of Faith 2012 notes (arina)
Nur Arina Mohd Yasin
Facebook android sdk research
Facebook android sdk research
whykill
How the NJ Tech Meetup community rallied around HealHoboken.org after Hurrica...
How the NJ Tech Meetup community rallied around HealHoboken.org after Hurrica...
rocketfuel.cc
Andere mochten auch
(20)
Tabela periódica
Tabela periódica
Presentacio del disc dur
Presentacio del disc dur
Historia informatica
Historia informatica
Ziakam - VCT 4670 - Final Client Project Presentation
Ziakam - VCT 4670 - Final Client Project Presentation
Presentation00
Presentation00
Miguel de Cervantes
Miguel de Cervantes
NaNa
NaNa
Trabalho Saf Itatiba 2012
Trabalho Saf Itatiba 2012
MACBET Journal Evaluation "The Book of Outcomes"
MACBET Journal Evaluation "The Book of Outcomes"
Powerpoint
Powerpoint
Test presentation
Test presentation
Proxecto abalar
Proxecto abalar
Caligramas
Caligramas
Para diabeticos
Para diabeticos
Camara,audio i video
Camara,audio i video
Toxico dinamia y toxico cin utica
Toxico dinamia y toxico cin utica
Nodejsによるapiサーバ構築事例
Nodejsによるapiサーバ構築事例
Twins of Faith 2012 notes (arina)
Twins of Faith 2012 notes (arina)
Facebook android sdk research
Facebook android sdk research
How the NJ Tech Meetup community rallied around HealHoboken.org after Hurrica...
How the NJ Tech Meetup community rallied around HealHoboken.org after Hurrica...
Ähnlich wie Android快速发布&持续集成
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
My own sweet home!
App开发过程的演变之路
App开发过程的演变之路
诸葛修车网-诸葛商城
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
MOBINODE
移动端跨平台技术原理
移动端跨平台技术原理
gorillazf
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps
Adam Lu
Appcan平台介绍
Appcan平台介绍
36Kr.com
Android 研发的昨天、今天 和 明天
Android 研发的昨天、今天 和 明天
oasisfeng
Android工作坊
Android工作坊
國立政治大學 數位內容碩士學位學程
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
Ian Chen
Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰
tick
React Native & V2HOT
React Native & V2HOT
Xcat Liu
美团前端架构简介
美团前端架构简介
pan weizeng
Android 4-app
Android 4-app
lydiafly
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
Will Huang
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Du Yamin
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)
ziggear
6 rexsee:会html就会android
6 rexsee:会html就会android
36Kr.com
Html5移动网站开发实践
Html5移动网站开发实践
Web Zhao
I os与android多平台开发心得
I os与android多平台开发心得
drewz lin
行動技術開發概論
行動技術開發概論
My own sweet home!
Ähnlich wie Android快速发布&持续集成
(20)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
開放原始碼 Ch3.1 mobile - oss - oss行動領域-1 (ver1.0)
App开发过程的演变之路
App开发过程的演变之路
Appcan介绍自己的应用开发平台
Appcan介绍自己的应用开发平台
移动端跨平台技术原理
移动端跨平台技术原理
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps
Appcan平台介绍
Appcan平台介绍
Android 研发的昨天、今天 和 明天
Android 研发的昨天、今天 和 明天
Android工作坊
Android工作坊
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
Android裝置開發過程的軟硬整合關鍵及挑戰
Android裝置開發過程的軟硬整合關鍵及挑戰
React Native & V2HOT
React Native & V2HOT
美团前端架构简介
美团前端架构简介
Android 4-app
Android 4-app
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
使用GoogleAppEngine建立个人信息中心
使用GoogleAppEngine建立个人信息中心
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)
6 rexsee:会html就会android
6 rexsee:会html就会android
Html5移动网站开发实践
Html5移动网站开发实践
I os与android多平台开发心得
I os与android多平台开发心得
行動技術開發概論
行動技術開發概論
Android快速发布&持续集成
1.
Android 快速发布 &持续集成
2.
Agenda • 目标 • 实现方式 •
代码讲解 • 经验&感想
3.
目标 • 刚发布,用户的需求又变了……怎么办? • 项目组采用敏捷开发,需要快速迭代,持续集成……怎么办? •
App的不同功能由不用的小组负责开发,整合经常出问题…… 怎么办? 肿么办?
4.
实现方式 • PhoneGap(android)
一个用基于HTML,CSS和JavaScript的,创建跨平台移动应用的快速 开发平台 • 原生+HTML结合 • 重网页+轻原生app • 性能差 • Webview释放不及时,会引起crash 参考资料: http://www.aliued.cn/2012/04/11/%E5%88%9D%E8%AF%86pho negap.html
5.
实现方式(原生) • Android APK
结构 • AndroidManifest.xml 描述了APK包的固有属性,是不可变部分。 • classes.dex 包含了Java类(.class)被编译打包成了Dalvik虚拟机的中间 代码。 • res 文件夹下的包含了所有可访问的资源文件。
6.
实现方式(原生) Android通过dalvik.system.DexClassLoader提供了 动态加载Java代码的能力,如果我们能够在Activity 启动之前,替换全局的ClassLoader ( Application.mBase.mPackageInfo.mClassLoade r), 那么我们就可以改变载入的Activity类对应的实现 。
7.
实现原理(原生) • Java反射
利用Java反射机制替换全局ClassLoader到我们自定义的 dalvik.system.DexClassLoader,从而在程序运行过程中改变 Activity的具体实现 • Activity上下文 每一个Activity的上下文都包含了自身的ClassLoader和资源管 理,通过重载以下四个函数就可以替换Activity所载入的资源 和代码的路径指向: • ClassLoader getClassLoader() • AssetManager getAssets() • Resources getResources() • Theme getTheme()
8.
代码讲解
9.
注意点 • 在Hotfix中开发的Activity必须和主程序AndroidManifest.xml
中指定的类名相同 • 无法动态的增加Activity • 无法保证在Google升级Android系统后该方法仍然有效
10.
经验和感想
11.
参考资料 • https://github.com/mmin18/AndroidDynamicLoader • https://github.com/probablycorey/wax(iOS) •
http://www.aliued.cn/2012/04/11/%E5%88%9D%E8%AF%86pho negap.html
Hinweis der Redaktion
一个Android应用在启动时,首先Dalvik加载的是Android自身的框架。之后会加载APK包中的classes.dex文件到全局的ClassLoader。最后根据AndroidManifest.xml中指定的类名,创建对应的Activity实例来展示UI。
Android框架本身就是一个插件系统,FragmentLoader项目利用了这一特性,采用极少的代码就实现了较完善的动态加载特性,几乎所有的业务逻辑代码和界面所需的资源文件都可以实现动态加载。
Jetzt herunterladen