V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ljbha007  ›  全部回复第 44 页 / 共 103 页
回复总数  2060
1 ... 40  41  42  43  44  45  46  47  48  49 ... 103  
2015-08-28 23:39:22 +08:00
回复了 haython 创建的主题 iOS 想做 ios,做一个一般的资讯类的应用,有必要学 oc 吗?
面向对象思想里有句俗语 如果一个动物看起来像鸭子 跑起来像鸭子 叫起来也像鸭子 游泳也像鸭子 那它就是鸭子
2015-08-28 23:38:29 +08:00
回复了 haython 创建的主题 iOS 想做 ios,做一个一般的资讯类的应用,有必要学 oc 吗?
HTML5 很适合做这种资讯类的应用 甚至比本地应用效果更好 不只是开发流程简单
交互效果做起来也更轻松 现在手机的硬件和浏览器的优化程度也让 html5 的应用体验非常流畅 完全看不出来区别
2015-08-28 20:01:43 +08:00
回复了 haython 创建的主题 iOS 想做 ios,做一个一般的资讯类的应用,有必要学 oc 吗?
直接用 Ionic 啊 很快就出来了
2015-08-28 20:00:49 +08:00
回复了 scarecrow 创建的主题 酷工作 程序员寻求帮手一起完善产品[10k-20k] + 股权
楼主实力派 看了 c 写的代理 短小精悍
2015-08-28 19:38:57 +08:00
回复了 chinassl 创建的主题 微信 很少用微信,感觉好多功能都不会用?是老了吗?
我搞 Android 开发的 也不会用微信
2015-08-28 19:38:11 +08:00
回复了 tux 创建的主题 问与答 为什么电脑 QQ 里的 GIF 帧率固定是 0.1 秒?
遗留代码写死了 没人管吧
比如:“这个命名有点难读懂 我帮你改一下行不?以后合作会容易很多”
直说 但是不要用高人一等的语气说
开个 linode 日本节点 立马就可以用 个人站点完全不会被 gfw 怎样 只要域名不要在国内厂商买就行了
2015-08-28 08:39:42 +08:00
回复了 gjflsl 创建的主题 服务器 渗透成功后如何优雅的装 B
女神崇拜他们技术只是因为他们技术人员有个帅哥
2015-08-28 08:07:44 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
@realpg 靠 我前面就说了有这个坑 因为插件系统会申请所有权限 那么插件也有所有权限
2015-08-28 07:48:16 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
@realpg 不行 这个技术得主程序装上插件系统 然后指名道姓的装 apk 才可以
绘图的时候就不考虑拖动 每次都根据数组的值把图标绘制在对应的格子的中心点
@xu33 碰撞可以用简单的计算中心点距离

移动的规则可以这样(不考虑 widget ):
1.每个格子从左上往右下编号
2.用数组存图标 数组索引对应每个格子 用来表示哪个图标在哪个格子
3.每次拖动的触摸事件时 或者 按固定频率访问被拖动的图标的位置 也就是触摸点的位置
4.计算每个中心点到触摸点的位置 如果小于某个阈值就触发第 5 步(记为点 a ) 阈值应该小于相邻两个中心店距离的一半(防止两个点同时触发第 5 步)
5.取点 a 的索引 遍历索引大于等于 a 的图标 将其索引往后移动 1 格
6.如果遇到空白格子则退出
7.最后(索引值最大的)一个图标后移时如果大于了数组的长度 则从数组中删除 然后放到下一页的数组的第一个(如果下一页第一个格子已有图标 则对下一页的数组再递归一次 5 ~ 6 的操作)
2015-08-28 00:12:54 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
@dahvlh
这个东西有漏洞 但是影响并不严重 只是用了这个插件系统的应用安全性比较差而已 对其他应用没什么影响

还有就是装了带这个插件系统的应用的手机也会很不安全 因为插件系统声明了系统所有权限
2015-08-27 23:44:13 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
@est
@cmzy
深读了一下 基本上看懂了

1. 整个框架的入口时 PluginManager.getInstance ().installPackage ()
2. 上述方法会调用 HandleFactory 中的初始化方法
3. HandleFactory 中初始化了 用于劫持所有系统关键服务的 Proxy 对象
4. 通过反射将 VM 中关键的系统服务对象替换为 Proxy 对象
5. 其中最关键的是 ActivityManager 以及其中的 startActivity 方法
6. Proxy 对象中的 startActivity 方法根据要启动的 Activity 的包名判断是否是插件 如果是则将启动 Activity 用的 Intent 替换为启动占坑 Activity 的 Intent
7. 通过 Classloader 动态加载插件 apk 里的代码 然后利用反射调用调用 makeApplication
8. 通过某种机制用动态加载的代码代替 stub activity ?

最后一步我没搞懂怎么实现的
2015-08-27 21:32:06 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
@cmzy
我这个思路是对的吧
主要就是先用各种 activitystub 占坑 然后用 activity 的 proxy 来接受来自系统的各种生命周期方法 再依次去调用插件 apk 里的各种生命周期方法
2015-08-27 21:20:36 +08:00
回复了 cmzy 创建的主题 Android 我是来填坑的,我们搞的插件机制 DroidPlugin 开源成功了。
大概看了下代码 大致总结思路:
1. 注册一堆各种配置的备用的 actvity
2. 用 DexClassloader 加载 apk 中的代码
3. 对关键系统服务和注册的 activity 使用 InvocationHandler 创建 Proxy 对象
4. 有专门的入口拦截发送给插件 activity 的 Intent 和做进程调度 我只找到了进程调度的代码 还没找到拦截 Intent 部分
5. 拦截到启动插件的 activity 的 Intent 后 使用进程调度服务启动 3 中生成的 activity 的 Proxy 对象
这样就加载了并运行了未安装的 apk
1 ... 40  41  42  43  44  45  46  47  48  49 ... 103  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2824 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 14:23 · PVG 22:23 · LAX 07:23 · JFK 10:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.