- 浏览: 80573 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
zhtch_123:
hold_on 写道zhtch_123 写道可以,使用apk的 ...
Android插件式开发(一) -
hold_on:
zhtch_123 写道可以,使用apk的静默安装那还是要安装 ...
Android插件式开发(一) -
zhtch_123:
可以,使用apk的静默安装
Android插件式开发(一) -
hold_on:
xingzhe321655 写道这个思路不错,但是每安装一个插 ...
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 9231.第一种方法 private void toggleGP ... -
android 代码设置apn
2013-04-25 12:22 2102代码设置apn,上代码: public class ... -
设置android系统时间
2013-04-25 12:16 868Calendar c = Calendar.getIns ... -
适用于android1.5以下版本apk静默安装
2013-02-27 08:47 1411上代码: package com.forelid.ispa ... -
APK签名之keytool生成keystore和jarsigner签名apk
2013-02-22 10:30 1470android程序的签名和Symbian类似都可以自签 ... -
apk自动下载断点续传,自动安装,卸载
2013-02-22 09:34 2115直接上代码: import java.io.File; ... -
Android客户端缓存机制(文字缓存和多媒体文件缓存)
2013-01-29 19:10 1517客户端缓存机制是android应用开发中非常重要的一项工作, ... -
android GPS 获取位置
2013-01-09 17:41 771使用GPS权限: <uses-perm ... -
Android 中Uri的用法汇总
2013-01-09 14:36 1019以下是常用到的Intent的URI及其示例,包含了大部分 ... -
Android 4.0源码下载
2012-09-11 11:19 10091.安装工具 apt-get install git- ... -
使用VideoView播放rtsp视频流
2012-08-21 18:21 52331.视频播放控制 package com.exampl ... -
Android自定义组件view 温度计
2012-08-17 14:42 1489package com.wlx.iblueyeclien ... -
SQLite数据库建立及相关操作
2012-08-17 14:39 11701. DatabaseHelper 创建数据库并建立数据 ... -
ffmpeg在android下编译的方法
2012-08-16 17:23 8981.在http://bambuser.com/opensour ... -
ACTION_VIEW动作所有使用的URI示例
2012-08-15 12:44 946android.content.Intent.ACTIO ... -
Log4J学习总结
2009-07-25 19:59 630Log4J 学习笔记 ... -
Java Enum 学习
2009-07-29 16:45 586Java Enum 学习 1. ... -
Java Annotation 浅析
2009-08-16 16:33 746Java Annotation 浅析 ... -
Java ThreadLocal使用浅析
2009-08-18 20:14 714Java ThreadLocal使用 ... -
Java 线程池ThreadPoolExecutor
2009-09-01 13:12 675Java 线程池 ThreadP ...
相关推荐
本程序为android插件式开发的一个demo程序。里面有一个主程序,两个插件程序。并且实现了主程序和插件之间通信的几种方式。对应博客地址:http://blog.csdn.net/chenliqiang12345678/article/details/50611264
占位式插件化开发例子
hydrogen是一个插件式的Android应用程序,使用Lua开发
Android App 插件化开发框架+路由功能集成开发包,基于RePlugin整合路由,马甲包SDK, APP插件集成,插件通过路由相互调用 https://github.com/henryxm/Host
DL插件式开发,无需安装APK,就可以运行插件。
这只是功能实现,代码并不能用到项目中,如果要找集成框架可以去我的博客找:http://blog.csdn.net/z240336124/article/details/50699142
《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...
简介:Android傻瓜式MultiDex插件,从此再也不用担心方法数问题
这一个动态加载的demo,如果不知道原理的,可去http://blog.csdn.net/u013895206 博客了解下原理。
虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。 Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 ...
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
DynamicPluginAndroid插件式开发类库,提供插件生命周期的管理,可同时管理并运行多个插件。Android Plugin Project, use to make your own Android Host-Plugin APP.This project will take care of plugin's ...
因此,对Android感兴趣的开发人员都把Google在2008年发布Android这一举措作为移动技术发展史上的一个非常令人期待的重大事件。 由于Android构建在开源代码的框架之上,而且提供了强大的SDK库和开放的理念,所以它...
AdPlayBanner是一个Android平台基于ViewPager实现的轮播图插件,主要用以自动或者手动地播放轮播图,提供了Fresco、Picasso、Glide等图片加载方式供用户使用,以及多种图片切换动画,设置轮播时间,设置数据源顺序,...
⾕歌官⽅ 开发出了基于Eclipse的ADT(Android Develop Tools)插件,通过为Eclipse安装插件的⽅式⽀持Android的开发,⽬前官⽅已经停⽌ADT 插件的开发与维护⼯作,并开发出了更加强⼤以及好⽤的Android Studio软件。...
效果不错,能够上下翻页,有兴趣童鞋可以学习学习,据说是失传已久的江湖秘笈,哈哈~~建议开发童鞋使用跨平台开发工具——统一开发环境UDE来进行查看、调试、开发哦~~统一开发环境是一款HTML5跨平台一站式应用开发、...
通过整合多种手机应用的开发包(SDK)及对应的Eclipse Plugin、跨平台中间件、中国移动开发者社区服务件,支持HTML5跨平台开发,原有Java跨平台插件支持Android、Symbian、Kjava的跨平台和原生开发,已覆盖Android、...
建议开发童鞋使用跨平台开发工具——统一开发环境UDE来进行查看、调试、开发哦~~统一开发环境是一款HTML5跨平台一站式应用开发、调试和部署工具, 它支持HTML5跨平台开发,原有Java跨平台插件支持Android、Symbian、...
建议开发童鞋使用跨平台开发工具——统一开发环境UDE来进行查看、调试、开发哦~~它是一款HTML5跨平台一站式应用开发、调试和部署工具, 支持HTML5跨平台开发,原Java跨平台插件支持Android/Symbian/Kjava的跨平台和...
2.4.2 安装和配置Eclipse中Android插件 2.5 使用Eclipse开发Android应用程序 2.5.1 使用Eclipse创建Android项目 2.5.2 Eclipse中Android项目架构 2.5.3 Eclipse中Android项目的调试和运行 第3章 Android中的Activity...