com·app·okzhuan-2·apk

system-app目录下apk文件解释_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
system-app目录下apk文件解释
大小:26.29KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢2.2系统app精简参考列表_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
2.2系统app精简参考列表
此​文​档​来​自​于​安​智​网​M​R​.​H​先​生​。
大小:8.20KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢2159人阅读
& & & 在目前的软硬件环境下,Native App与Web App在用户体验上有着明显的优势,但在实际项目中有些会因为业务的频繁变更而频繁的升级客户端,造成较差的用户体验,而这也恰恰是Web App的优势。现如今很多项目要求需要采用类似于微信或Q游这样的插件化开发模式越来越多,本文就是阐述android的动态加载技术来满足插件化开发模式的文章。
1.基本概念
1.1&&在Android中可以动态加载,但无法像Java中那样方便动态加载jar。
Android的虚拟机(DalvikVM)是不认识Java打出jar的byte code,需要通过dx工具来优化转换成Dalvikbyte code才行。这一点在咱们Android项目打包的apk中可以看出:引入其他Jar的内容都被打包进了classes.dex。即android要加载的java类必须dex格式的代码文件.
1.2&&在Android中可以加载基于NDK的so库。
NDK的执行效率很高,加密性很好,但同时开发入门难度大,一般用于加解密、数学运算等场合。so的加载很简单,如果APK发布时已经携带了so文件,只需要在加载时调用System.loadLibrary(libName)方法即可。由于软件的安装目录中存放so的目录是没有写权限的,开发者不能更改该目录的内容,所以如果要动态加载存放在其他地方的so文件,用System.load(pathName)方法即可。
1.3&&在Android中支持动态加载dex文件的两种方式:
DexClassLoader:这个可以加载jar/apk/dex,也可以从SD卡中加载,也是本文的重点
PathClassLoader:只能加载已经安装到Android系统中的apk文件。也就是
/data/app 目录下的 apk 文件。其它位置的文件加载的时候都会出现 ClassNotFoundException.因为 PathClassLoader 会去读取 /data/dalvik-cache 目录下的经过 Dalvik 优化过的 dex 文件,这个目录的 dex 文件是在安装 apk 包的时候由 Dalvik 生成的。
2.1 采用不用安装的插件开发模式,只能够使用&DexClassLoader进行加载.不过动态加载是有一些限制的,比如插件(子apk)包中的Activity、Service类是不能动态加载的,因为缺少声明;即使你在Manifest文件中进行了声明,系统默认也是到安装apk所在的路径中去寻找类,所以你会遇到一个ClassNotFound的异常。插件里你可以用主apk中先前放入的layout、strings等资源。但是插件中自带的界面只能用纯代码进行编写,插件中是不能加载插件(子apk)中的xml作为layout等资源使用的。所以在开发上一些特效会比较困难些,建议预先植入主apk中。
2.2&大家可以看看DexClassLoader的API文档,里面不提倡从SD卡加载,不安全
3.如何制作插件
3.1 把工程导出为jar包
3.2 执行SDK安装目录android-sdk-windows\platform-tools下的dx命令,把jar包转换为dex格式
dx&--dex&--output=dex名
4.如何做到启动未安装的apk中的activity?
&采用反射机制,把主apk中的activity的context传递到插件的activity中,然后采用反射进行回调插件activity的方法。不足之出就是,插件中的activity并不是真正的activity,它只是运行在主activity中。比如:点击返回直接退出当前activity而不是回到主activity。实例如下:
这是调用的Activity:
这是被调用的Activity:
5.参考文章
4.(Android
通过反射启动未安装的APK中的Activity的实例代码)
5.(Android 通过反射启动未安装的APK中的Activity的实例图形说明)
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:170161次
积分:2193
积分:2193
排名:第8871名
原创:38篇
转载:55篇
评论:119条
(1)(1)(2)(1)(3)(2)(3)(2)(1)(2)(2)(3)(1)(8)(8)(3)(4)(2)(10)(6)(5)(2)(2)(1)(2)(7)(4)(2)(3)查看: 59542|回复: 356
带你入门之__Windows下打包CROSSAPP自带demo的APK
阅读权限200
在线时间 小时
本帖最后由 foggy 于
12:08 编辑
带你入门之__Windows下打包CROSSAPP自带demo的安卓APK
再次强调目前Windows下只能开发打包android版的APK和win32版,想开发IOS的IPA并调试的请土豪购买苹果电脑``````或者屌丝安装黑苹果(只能调试不能上传苹果商店).
打包前必须先安装配置好windows下android的开发环境,环境安装配置请看上篇《带你入门之__Windows下搭建CROSSAPP开发环境》,地址是
环境需求如下:
①操作系统:windows7以上版本
②开发工具:vs2012以上版本
③ADT(eclipse+androidSDK): adt-bundle-windows
④androidNDK: 推荐android-ndk-r9c
⑤JDK: jdk for windows就行了
⑥CROSSAPP:crossapp越新越好啦
⑦Python: 推荐Python2.7版本(可装可不装,如果你要用命令行创建新工程项目就装吧)
⑧真机环境:一台android4.2.2以上安卓真机
本测试环境
①操作系统:64位windows7
②开发工具:VS2013
③ADT(eclipse+androidSDK): adt-bundle-windows-x86_64
④androidNDK: android-ndk-r9c_windows_x64
⑤JDK: jdk1.8.0_31
⑥CROSSAPP:crossapp1.0.1
⑦Python: python-2.7.9(可忽略)
⑧真机环境:小米3 MIUI6.3.1.0系统android4.4.4
总结一下步骤:编译WIN32版正常—设置安卓虚拟机—导入eclipse工程--加载ndk-build.cmd—修改Android.mk—拷贝org.CrossApp.lib包和Resources资源—运行—真机或虚拟机测试。
游客,如果您要查看本帖隐藏内容请
, , , , , , , , , , , , , , , , , , ,
阅读权限20
在线时间 小时
发表于 昨天&20:38
非常实用啊,学习了哦
阅读权限20
在线时间 小时
发表于 昨天&19:11
支持支持 新手
阅读权限50
在线时间 小时
发表于 前天&00:27
正好用到,学习学习
阅读权限20
在线时间 小时
发表于 3&天前
学习学习!!!!
阅读权限50
在线时间 小时
发表于 3&天前
阅读权限50
在线时间 小时
发表于 3&天前
好好学习,天天向上
阅读权限50
在线时间 小时
发表于 5&天前
9VDO@I((NZ`@T84EF297L3R.png (0 Bytes, 下载次数: 0)
5&天前 上传
这是怎么回事呀,楼主求帮助。。
阅读权限50
在线时间 小时
发表于 5&天前
楼主有没有64位的??发一个,谢谢
阅读权限50
在线时间 小时
发表于 5&天前
带你入门之__Windows下打包CROSSAPP自带demo的APK
最新微信朋友圈游戏源码200多套HTML5微信朋友圈
详细介绍 详细介绍 《气球砰砰砰》是一款萌系消
微信树洞秘密匿名吐槽平台源码,调用人人网(新
今天给大家分享的是响应式动画单页HTML5模版下载
自带列表哦~
截图示例,下载见2楼~
关于我们 | 联系方式
COPYRIGHT(C)2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备号-3
北京中清龙图网络技术有限公司 地址:北京市朝阳区北苑路甲13号院北辰泰岳大厦11层Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free.
While going thorough device "/data/app" folder on my rooted Galaxy S2(4.3), i am able to see all application names either ends with -1.apk or -2.apk
Can someone explain this,Why So??, also for new apps installed from google play, names ends with -1.apk or -2.apk
screenshot is as below.
When you have one application installed say - googleplay. And if any updates of the same app comes afterwords, and if you update the app then Android will download the apk and renames it to apk-2.apk and replaces the currently installed (apk-1.apk) application with a newer one (apk-2.apk).
I don't know exactly why Android does that but that is the done with names of apk - apk-1.apk and apk-2.apk.
So It goes this way.
1. You have one application installed say - playmusic then the apk in the "/data/app/" will be playmusic-1.apk
2. One update came in playstore for playmusic. you selected - update. Updates start downloading.
3. After downloading the update "Android OS" will install playmusic and update your app. and if you now see the "/data/app" folder it will be playmusic-2.apk
As mentioned previously I don't know why Android OS does that but Its the mechanism.
Here by playmusic-1.apk and playmusic-2.apk means com.google.playmusic OR whatever the package name is.
You can also try this by yourself.
The answer of WHY
Thanks to @Geobits the mystery is solved.
Android does because two apk files with the same name can not exist in the same directory.
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Stack Exchange
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabled

我要回帖

更多关于 appstats.apk 的文章

 

随机推荐