android动态插件
A. Android的apkplug插件开发具体怎么编译生成插件 apk 文件
步骤1:注册ApkPlug官网账号:
打开Apkplug官网后,点击右上角的“注册”,在跳转页面填入相关信息,注册界面如下:
确认后注册成功,使用你的账号登录网站。你就可以用Apkplug开发应用了
END
步骤2:开发插件
Apkplug中的插件也是一个完整的apk,它与普通应用的区别有以下3点:
1, 插件assets目录下有一个plugin.xml文档,通过它可判断一个工程是主应用还是插件。
2, 插件有一个入口类BundleActivator
3, 插件会外部引用一个osgi.jar文件
开发插件的步骤有如下4步:
1,引入osgi.jar库文件
Apkplug中插件需要导入的库文件只有一个osgi.jar。
导入osgi.jar库文件需要注意一下
osgi.jar文件只能引用不能编译到apk文件中,否则会出现类冲突的情况
异常代码:had used a different Lorg/osgi/framework/BundleActivator; ring pre-verification。
osgi.jar包导入方法:
这文件在Apkplug SDK中可以找到。
2,编写插件入口类BundleActivator
插件启动时首先调用BundleActivator,其功能类似android中的application类。
public class SimpleBundle implements BundleActivator
{
private BundleContext mcontext = null;
public void start(BundleContext context) throws Exception
{
System.err.println("你好我是插件,我将为你展示启动acitivty我已经启动了 我的BundleId为:"+context.getBundle().getBundleId());
}
public void stop(BundleContext context)
{
System.err.println("你好我是插件,我被停止了 我的BundleId为:"+context.getBundle().getBundleId());
}
}
3,编写plugin.xml配置文件
plugin.xml
是一个配置表,它跟AndroidManifest.xml作用类似。 plugin.xml文档放置在assets中即可 重要属性说明:
Bundle-Name 插件名称 Bundle-SymbolicName 插件包名
-与应用packagename可一一对应 Bundle-Version 插件版本 -1.0.0
Bundle-Activator 插件入口 -与Appliction 类似
Bundle-Activity 插件界面 -多个Activity可用 , 分割
Bundle-Service 插件Service -多个Service可用 , 分割
(v2.0.0新增) Bundle-Receiver 插件广播 -多个广播类可用 , 分割
(v2.0.0新增)
4, 编译生成插件apk文件
插件工程中添加的文件目录结构如下:
最后编译运行插件工程,生成的apk文件即为插件文件
END
步骤3:开发主应用
Apkplug 主应用开发分两步集成:
1. 获取主应用授权AppAuth。
登录账号进入Apkplug后台后,切换到“应用授权页面”,按要求填写好应用信息,然后确定,你就拥有了一个等待开发的应用授权AppAuth。应用授权界面如下:
进入“授权列表”页面,点击“查看详情”链接,进入“应用详情界面”,就可以看到已申请的AppAuth,点击其后面的“复制”,即可直接复制AppAuth,如下图所示
2. 对接Apkplug SDK 导入相关库文件。
①配置应用权限
主应用需要几个基础的权限配置,请将以下的几个权限加入到主应用的AndroidManifest.xml中。
<!-- 插件平台需要的权限! -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>
另外将一下加入到<application></application>节点中
<!-- 插件平台需要的配置! -->
<activity
android:name="org.apkplug.app.apkplugActivity"
android:theme="@style/android:Theme.Light"
android:configChanges="orientation|keyboardHidden"
/>
最后将我们从Apkplug管理后台申请到的AppAuth加入到配置文件中。
<meta-data android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>
注:由于3.2.2节中我们直接复制了AppAuth,此处直接粘贴到AndroidManifest文档中。
如下图:
②导入SDK库文件
主应用需要导入两个文件,将其放入libs目录中即可。
1, libndkfoo.so
2, Bundle2.0.0.jar
如下图:
这两个库文件在Apkplug SDK中可以找到。
然后:
主应用启动Apkplug最简只需要一段代码即可,建议在Application中启动框架。
FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context);
将上一步骤开发好的插件apk,放置在主应用工程里的assets路径下。
如下图:
END
步骤4:启动主应用
最后启动主应用即可。简单的插件化apk的方法就讲完了,有兴趣的关注我,下次讲云端托管插件实现应用内更新。
B. Android上有哪些好用的插件
好用的Android Studio的插件:
支持直接在AS面板中进行ADB操作,
Uninstall App
Kill App
Start App
Restart App
Clear App Data
Clear App Data and Restart
C. 有没有一个安卓动态壁纸的插件儿 就是可以设置每个屏幕不一样的,滑屏就会变的,每
1多屏壁纸。这款动态壁纸程序可以为每一屏单独设置壁纸。
2ss启动器。这款桌面也可以单独设置每一屏的壁纸。
D. Android Studio有哪些非常好用的插件
身为折腾爱好者,没事就喜欢折腾插件啥的,装了一大堆,最后留下来的也就以下几个了:
.ignore:版本控制忽略文件高亮和补齐
ADB Idea:ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行
Android ButterKnife Zelezny:butterKnife自动生成注解插件,包括holder
Android Parcelable code generator:Parcelable 自动生成插件
Androd Propery Initializer:findViewById 生成插件
Codota:搜索代码用,
Eclipse code formatter: 没人觉的idea的格式化工具不好用嘛,有了这个,就可以把以前eclipse的格式化脚本到idea来,一下子就治好了强迫症有没有。
Genymotion:这个就不解释了吧,用了之后都不愿意用真机了。。
GsonFormat:五颗星推荐,把json数据往粘贴板一贴,自动生成Bean有没有,显着提高生成力。
Markdown:markdown 支持,这个没啥说的。
E. 安卓2.2系统的手机要用动态壁纸是不是还要安装什么插件要去哪下载
K:安卓2.2系统的手机要用动态壁纸是不是还要安装什么插件?
A:下了个安卓市场
从里面找主题下载还是比较可靠!还有就是用豌豆荚精灵下载.
K:要去哪下载?
A:从手机上找到该主题:安卓网,机锋网都可以的。
F. ANDROID如何设置动态壁纸和删除桌面小组件
长按你需要删除的图标(如:有道词典和天气)不放并拖动到垃圾桶区域即刻删除;
另外,你的动态壁纸意外关闭可能是因为启动动态壁纸须占用大量运行内存,而xt300的ram不高,无法稳定运行你想打开的动态壁纸,而且运行的话也相当耗电,所以本人不建议使用动态壁纸。
G. 怎么将 Android 程序做成插件化的形式
对于 Android 来说是 DexClassLoader,如下
DexClassLoader pluginClassLoader = new DexClassLoader(dexPath, optimizedDirectory, libraryPath, parentClassLoader);
可动态加载的内容包括 apk、dex、jar 等
也利用这个原理及开源项目实现了一个版本,并且整理了 Android 插件化的作用、概念以及不错的资料(包括开源项目)和解决方案。
其中包括 65535 问题,Android 插件化、Android 组件化、Android 动态加载、Android 动态升级;介绍 DexClassLoader 和 PathClassLoader 的区别;如何解决生命周期管理、资源访问问题,如何消除公共依赖。
转载
H. 怎么将 Android 程序做成插件化的形式
有个框架叫apkplug
就是apk插件式的开发框架
其实原理都一样,因为android不支持动态的增加jar
因此插件需要做成一个单独的apk,框架APK去查找系统中的其它插件
然后结合一起调用即可
I. 求iphone模仿android动态墙纸的插件。主题美化、插件、桌面、动态壁纸
有一款软件是的,可是当我下下来的时候,坑爹啊,目前貌似应该没有