- 浏览: 84658 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
zhtch_123:
<div class="quote_title ...
Android插件式开发(一) -
hold_on:
<div class="quote_title ...
Android插件式开发(一) -
zhtch_123:
可以,使用apk的静默安装
Android插件式开发(一) -
hold_on:
<div class="quote_title ...
Android插件式开发(一) -
zhtch_123:
很久没有用了,现在要用了,来复习一下。不论ssh怎么更新版本, ...
SSH 架构
1.插件式开发基础
插件式开发是指,只要提供一个主应用程序,此应用程序可以安装和调用其他插件式的功能模块,当应用程序需要增加功能时,不需要升级应用程序,而是通过安装新功能模块的插件即可。其单个插件的运行必须依赖于主应用程序。插件开发是单独进行的。
2.插件是开发的构想
A.通过如下代码可以获取android系统内的安装应用的列表,同时获取每个安装包的信息。
List<PackageInfo> pkgs = pm .getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
B.通过如下代码可以获取每个包的资源
PackageManager pm = contxt.getPackageManager(); res = pm.getResourcesForApplication(packageName);
C.通过如下代码可以获取资源的id
/* Resources res */ res.getIdentifier(resName, resType, packageName)
D.但是由于android系统的安全机制继承自linux,所以对于不同运行进程的apk之间是不能够直接访问资源和数据,同时android的创始人应该有这个预测留有方法观看如下两个代码片段A和片段B:
代码片段A:AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iClient" android:installLocation="auto" android:sharedUserId="com.iClient.Main" android:sharedUserLabel="@string/share_user_label" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:process="com.iClient" android:theme="@style/AppTheme" android:name=".data.ClientApplication" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" android:process="com.iClient" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ......................................................... </application> </manifest>
代码片段B:AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iClient.agricultrue" android:sharedUserId="com.iClient.Main" android:sharedUserLabel="@string/share_user_label" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" /> .......................................................... </application> </manifest>
如以上2个代码段比较 android:sharedUserId="com.iClient.Main"是共同的配置,如此可以保证A应用可以访问B应用的资源和数据。
以上功能经过验证后发现,设想完全可以实现,插件式开发设想成立。
评论
5 楼
zhtch_123
2013-09-23
hold_on 写道
zhtch_123 写道
可以,使用apk的静默安装
那还是要安装啊,像微信好像是通过动态加载dex,来实现的
注意:这个dex是从一个存储在sdcard上的未安装的apk中得到的
我知道你的意思,微信的真正插件是游戏插件,其他的所谓插件都是假的,其他的功能插件是虚拟的,实际代码都已经实现过了,只是通过设置将有些功能关闭了而已。你细细研究下就会发现,游戏插件也就是如我描述实现的。
4 楼
hold_on
2013-09-17
zhtch_123 写道
可以,使用apk的静默安装
那还是要安装啊,像微信好像是通过动态加载dex,来实现的
注意:这个dex是从一个存储在sdcard上的未安装的apk中得到的
3 楼
zhtch_123
2013-09-09
可以,使用apk的静默安装
2 楼
hold_on
2013-07-23
xingzhe321655 写道
这个思路不错,但是每安装一个插件就会弹出对话框,提示用户有新的程序安装,体验不好,请问有什么解决办法没有
同问:能不能不通过额外安装apk的方式达到目的,反编译腾讯的apk确实没有安装额外的apk(在data/data目录下也没发现相关插件包名)
1 楼
xingzhe321655
2012-11-04
这个思路不错,但是每安装一个插件就会弹出对话框,提示用户有新的程序安装,体验不好,请问有什么解决办法没有
发表评论
-
android软件设置gps自动开启
2013-06-24 23:36 9661.第一种方法 private void toggleGP ... -
android 代码设置apn
2013-04-25 12:22 2162代码设置apn,上代码: public class ... -
设置android系统时间
2013-04-25 12:16 993Calendar c = Calendar.getIns ... -
适用于android1.5以下版本apk静默安装
2013-02-27 08:47 1505上代码: package com.forelid.ispa ... -
APK签名之keytool生成keystore和jarsigner签名apk
2013-02-22 10:30 1535android程序的签名和Symbian类似都可以自签 ... -
apk自动下载断点续传,自动安装,卸载
2013-02-22 09:34 2205直接上代码: import java.io.File; ... -
Android客户端缓存机制(文字缓存和多媒体文件缓存)
2013-01-29 19:10 1566客户端缓存机制是android应用开发中非常重要的一项工作, ... -
android GPS 获取位置
2013-01-09 17:41 816使用GPS权限: <uses-perm ... -
Android 中Uri的用法汇总
2013-01-09 14:36 1062以下是常用到的Intent的URI及其示例,包含了大部分 ... -
Android 4.0源码下载
2012-09-11 11:19 11201.安装工具 apt-get install git- ... -
使用VideoView播放rtsp视频流
2012-08-21 18:21 53581.视频播放控制 package com.exampl ... -
Android自定义组件view 温度计
2012-08-17 14:42 1572package com.wlx.iblueyeclien ... -
SQLite数据库建立及相关操作
2012-08-17 14:39 12611. DatabaseHelper 创建数据库并建立数据 ... -
ffmpeg在android下编译的方法
2012-08-16 17:23 10231.在http://bambuser.com/opensour ... -
ACTION_VIEW动作所有使用的URI示例
2012-08-15 12:44 1001android.content.Intent.ACTIO ... -
Log4J学习总结
2009-07-25 19:59 669Log4J 学习笔记 ... -
Java Enum 学习
2009-07-29 16:45 630Java Enum 学习 1. ... -
Java Annotation 浅析
2009-08-16 16:33 795Java Annotation 浅析 ... -
Java ThreadLocal使用浅析
2009-08-18 20:14 757Java ThreadLocal使用 ... -
Java 线程池ThreadPoolExecutor
2009-09-01 13:12 741Java 线程池 ThreadP ...
相关推荐
本程序为android插件式开发的一个demo程序。里面有一个主程序,两个插件程序。并且实现了主程序和插件之间通信的几种方式。对应博客地址:http://blog.csdn.net/chenliqiang12345678/article/details/50611264
通过分析和理解这个项目,你可以深入学习Android插件化的实践技巧,并为自己的项目应用这些知识。 总之,Android的占位式插件化开发是一种强大的技术,它可以极大地提高应用的灵活性和可维护性。然而,实现这样的...
安卓插件式开发是一种在Android平台上实现模块化、可扩展性的技术,它允许开发者将应用程序的功能拆分成多个独立的组件,这些组件被称为“插件”。这种开发模式使得应用的核心功能与扩展功能分离,提高了代码的复用...
【Android插件换肤Demo】是一个演示如何在Android应用程序中实现动态皮肤更换功能的示例。这个Demo展示了如何通过插件化技术来实现在运行时切换应用的视觉样式,为用户提供个性化的体验。尽管这个Demo可能并不直接...
"Android-hydrogen"项目就是一个这样的尝试,它提供了一个框架,允许开发者使用Lua来编写Android应用,并且支持插件化开发模式。 首先,我们要理解“插件化开发”。插件化开发是指将应用程序分解为多个独立的功能...
在Android平台上,开发一款能够插件式打开PDF文件的应用是一项常见的任务。这涉及到对PDF阅读器的集成,以便用户能够方便地浏览和处理PDF文档。本文将深入探讨如何实现这一功能,主要涵盖以下几个方面: 1. **PDF...
在Android应用开发中,动态加载和插件式开发是一种高级技术,它允许应用程序在运行时加载新的功能或更新,而无需用户重新安装整个应用。这种技术对于实现自动升级和提高用户体验具有重要意义。以下是对这个"android ...
这种技术主要基于“DL插件式开发”概念,旨在提高应用的灵活性、可扩展性和更新效率。下面我们将深入探讨这个主题,以及与之相关的文件类型和应用场景。 首先,DL插件式开发的核心是将应用程序的功能模块化,这些...
《Android+移动开发一本就够》是一本全面覆盖Android移动开发领域的书籍,旨在为读者提供一套完整的Android学习路径,从基础知识到高级技术,让开发者能够掌握Android应用开发的各个方面。本书内容丰富,适合初学者...
【Android项目驱动式开发教程】第一章主要介绍了Android开发的基础知识,包括Android的发展历史、系统版本迭代和基本架构。以下是对这些知识点的详细说明: 1. **Android系统简介**: Android是一个基于Linux内核...
Android App 插件化开发框架+路由功能集成开发包,基于RePlugin整合路由,马甲包SDK, APP插件集成,插件通过路由相互调用 https://github.com/henryxm/Host
2. **Android插件开发**:掌握如何编写和集成自定义的Android Gradle插件,包括理解插件的基本结构、如何定义和注册任务,以及如何操作项目构建过程。 3. **Gradle脚本**:理解Gradle的DSL(领域特定语言),如何在...
综上所述,实现Android插件式无刷新换肤和字体大小切换涉及多个层面的技术,包括资源加载、UI刷新、系统兼容性处理以及可能的工具类利用。开发者需要深入理解Android系统的机制,并灵活运用各种技术手段,以提供优秀...
这个压缩包文件"安卓Excelwordppt文档读写相关-Android插件式打开PDF文件.rar"主要涉及的是Android应用如何以插件化的方式处理PDF文档。下面我们将深入探讨这个主题。 首先,Android系统本身并不支持直接编辑或读取...
Android-HiBeaver就是这样一个专门针对Android应用的Gradle插件,它简化了字节码插桩的过程,为开发者提供了便利。 Android-HiBeaver的核心功能是利用ASM库来操作字节码,实现对Android应用的代码注入。ASM是一个...
在Android应用开发中,插件化技术是一种将应用程序的功能模块化,使得这些模块可以在运行时动态加载和卸载的技术。这种技术可以极大地提高应用的可维护性和灵活性。本篇文章主要探讨的是如何在插件化开发中打开未...
Android Studio是Google官方推荐的Android开发环境,版本2.3包含了一些重要的特性,如Gradle插件2.3.0,支持Java 8语法,以及改进的布局编辑器。开发者可能利用这些特性来提高代码质量和开发效率。 6. **文件结构*...
【Android天气插件开发详解】 Android天气插件是Android平台上的一种小型应用程序,它可以在主屏幕上显示当前的天气信息,如温度、湿度、风速、天气状况等,为用户提供即时的气象数据。本插件源代码提供了完整的...