virtualapk爬坑心得
1.宿主和插件的工程build.gradle必须是 com.android.tools.build:gradle:2.1.3
gradle-wrapper 必须是 gradle-2.14.1-all
app的build,宿主的需要 apply plugin: 'com.didi.virtualapk.host'
插件的需要
// 插件配置信息,放在文件最下面
apply plugin: 'com.didi.virtualapk.plugin' virtualApk { packageId = 0x6f// 插件资源id,避免资源id冲突 (01不可以,不知道为啥) targetHost='../VirtualapkTest/app' // 宿主工程的相对路径或者绝对路径 applyHostMapping = true // 插件编译时是否启用应用宿主的apply mapping }
2.使用命令:gradle clean assemblePlugin
或者右方
构建插件项目生成apk时,提示错误:
错误1:Can't find (宿主项目路径)\app\build\VAHost\versions.txt
解决方法:clean rebuild插件和宿主项目
3.打开插件activity
Intent intent = new Intent();
intent.setClassName(PLUGIN_PACKAGE_NAME, PLUGIN_ACTIVITY_REFERENCEPATH);//PLUGIN_PACKAGE_NAME是插件的包名,PLUGIN_ACTIVITY_REFERENCEPATH是要打开的activity的全名
startActivity(intent);
4.要注意插件和宿主之间所有的资源文件最好不要重名,包括图片、xml、动画等等
virtualapk爬坑心得的更多相关文章
- Vue 爬坑之路(九)—— 用正确的姿势封装组件
迄今为止做的最大的 Vue 项目终于提交测试,天天加班的日子终于告一段落... 在开发过程中,结合 Vue 组件化的特性,开发通用组件是很基础且重要的工作 通用组件必须具备高性能.低耦合的特性 为了满 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...
- Android爬坑之路
做了那么久前端,现在终于可以回到我的老本行, 今天我用了一天的时间配置里Android开发环境,mac和windows双平台,eclipse和IDEA双平台,别问为什么,我就喜欢,中间大坑不断,再加上 ...
- kali linux安装virtualbox虚拟机之爬坑经历
很多kali爱好者想把kali linux作为系统使用,但是有些win下的程序有时候也需要用到,此时需要虚拟机. kali系统在安装虚拟机的时候也会遇到一大堆坑,接下来是我的爬坑过程. 一波三折. 环 ...
- GC overhead limit exceeded填坑心得
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性 ...
- JavaScript 踩坑心得— 为了高速(下)
一.前言 本文的上一篇 JavaScript 踩坑心得- 为了高速(上) 主要和大家分享的是 JavaScript 使用过程中的基本原则以及编写过程中的心得分享,本文主要和大家聊聊在各个使用场景下的 ...
- 从Ueditor跨域上传,总结的一次跨域上传的爬坑经历
项目内其中一个管理后台需要发布文章,需要一个富文本编辑器,经过一番选择后,最终选择了百度的Ueditor. 由于上传的文件是上传到另一台专门存放图片等静态资源的服务器上面的,所以就涉及到了跨域上传. ...
- AngularJs (二) 搭建Deployd 服务爬坑
Deployd 爬坑 按照书上的教程,介绍Deployd 这个东东,首先进入其deployd.com/网页,发现这个东东着实厉害. THE SIMPLEST WAY TO BUILD AN API 按 ...
随机推荐
- java——类的封装
public void setName(String str) { name=str; } public void setAge(int a) //set方法需要在括号中定义数据类型 { if(a&g ...
- [hiho1578]Visiting Peking University
题意:签到题,不叙述了 解题关键:模拟即可. #include<bits/stdc++.h> #define inf 0x3f3f3f3f using namespace std; typ ...
- sgu 321 The Spy Network (dfs+贪心)
321. The Spy Network Time limit per test: 0.5 second(s)Memory limit: 65536 kilobytes input: standard ...
- /dev/mapper/vg_zjxtest-lv_root 占用到达100%的解决方法
linux系统下报这个错误是磁盘满了,可以先做以下几个检查: 1.查看下面这个目录看看是否是回收站满了 du -sh ~/.local/share/Trash 2.查看/tmp目录和/var目录是否有 ...
- Socket 阻塞与非阻塞模式
http://blog.sina.com.cn/s/blog_5d0990c7010115ib.html
- 浅析Jupyter Notebook
一 概述 Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本.主要是针对python,另外支持运行 40 多种编程语言.Jupyter可以在个人机 ...
- MATLAB实现回归分析
下面是一道例题
- encodeURI和uncodeURIComponent的介绍
encodeURI.decodeURI encodeURI.decodeURI 对字符转义:不替换特殊字符有18个.(大小写)字母.数字. 替换目标 将字符替换为 HTML URL编码 替换范围 A- ...
- ue4 fuck
https://answers.unrealengine.com/questions/661969/uspringarmcomponent-ucameracomponent-not-identifie ...
- 浅谈Unity的渲染优化(1): 性能分析和瓶颈判断(上篇)
http://www.taidous.com/article-667-1.html 前言 首先,这个系列文章做个大致的介绍,题目"浅谈Unity",因为公司和国内大部分3D手游开发 ...