降低学习成本是每个.NET传教士义务与责任. 建立生态,保护生态,见者有份. 对于apk 包的大小大家都是很敏感的,虽然现在安卓手机的性能和存储越来越厉害了.本着能少一点是一点的态度,我们还是要深入理解下xamarin 生成的apk包里面有那些内容. 原文来自于:https://developer.xamarin.com/zh-cn/guides/android/advanced_topics/application_package_sizes/ 本文研究了Xamarin.Android应用程序…
Android获取APK包名的几种方法:1.adb shell pm list package -f | findstr 关键字 #只能获取到包名,主Activity名无法获取到 2.使用aapt--aapt是sdk自带的一个工具,在sdk\builds-tools\目录下,进入该目录下执行: aapt dump badging f:\resign\******_debug.apk 运行后的结果中以下两行分别是应用包名package和入口activity名称 package: name=’com…
本文内容 环境 项目结构 演示下载 参考资料 本文是 github 上 Trinea-Android-common 和 Trinea-Android-Demo 项目的一部分,将下载部分分离出来,看看如何实现.(不知道此人学了多久,Android 水平不低~ 貌似年龄跟我差不多~) 假设,现在有个下载 apk 包的需求,你大概能想到什么? 下载本身: 下载进度: 期间还能取消: 由于网络不好或中断,下载失败,还要能重试: 因为下载的是 apk,下载完还要能提示安装更好,而且,很多手机管理 app,…
1. 先从 http://download.csdn.net/detail/dingyuming1991/9618125 下载反编译工具dex2jar和jd-gui(当然也可以google搜索下载): 2. 将要反编译的apk包改扩展名为zip(apk包实则为zip压缩包),解压zip文件: 3. 在解压出来的文件夹中会有个classes.dex文件(程序的二进制文件),在下载dex2jar和jd-gui中找到dex2jar程序,在cmd窗 口中运行  dex2jar classes.dex ,…
代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs. 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小. native code的部分,大多数情况下只需要支持armabi与x86的架构即可.如果非必须,可以考虑拿掉x86的部分. 资源 使用Lint工具查找没有使用到的资源.去除不使用的图片,String,XML等等. assets目录下的资源请确保没有用不上的文件. 生成APK的时候,aapt工具本身会对png做优化,…
现在apk大小主要是决定于两个:一个是图片一个是.SO文件(这个尽量用release包),而对于图片,既要越小,又要保持质量. 之前是PNG --> JPG, 现在直接是PNG ---> webp, or jpg-->webp 对于50KB以上的图,质量80%的话,都有2/3的压缩 大赞啊 只要android 4.0+(level >= 17)都可以的 但是有些图片尤其是720P下的图片,转成webp格式后,文件的大小反而变大了,所以这个没有绝对的. 此时需要权衡,建议此种情况下,…
最近试图整合umeng至cocos2d-x围棋项目,一切好工作,准备生成apk当出现了大量的数据包 [2014-06-03 20:02:52 - MyApp] Unable to add 'G:\cocos2d-x-2.2.3\projects\MyApp\proj.android\assets\crystal_guardian\background.jpg': Zip add failed [2014-06-03 20:02:52 - MyApp] ERROR: unable to proce…
网上相关的文章一大堆了,我只是总结下自己的反编译方法和工具 工具下载地址: http://download.csdn.net/detail/zsjangel/7104663 下载上面的三个工具的压缩包 Apktool_v1.5.1_CHS_By_b-sf.rar dex2jar.zip jd-gui-0.3.5.windows.zip 一.反编译 xml 等模版资源文件. 解压 apktool 包,然后将你要反编译的 apk 文件拖放到 ApkModify.bat  文件上就自动反编译了,这个包…
1)开启minifyEnabled 开启混淆,删除没用的java文件 2)开启shrinkResources 去除无用资源 3)resConfigs "zh" 删除无用的语言资源 4)使用tinypng有损压缩 TinyPNG使用一种智能有损压缩技术(通过降低图片中的颜色数量,来减少存储图片所需要的数据)来降低PNG图片的大小 TinyPNG将PNG图片压缩成8位的PNG(而不是24位),所以它的压缩比例非常高 http://tinypng.com 5)对于非透明的大图,png转换为j…
问题描述:使用so包时报错. 解决方法: 1.保证 libs > armeabi 和 armeabi-v7a 中的so包一致. 2.去掉 x86,x86_64,arm64-v8a. 3. so的生成操作修改成 AndroidNativeLibrary. 然后进行调试,就不会出现问题了. 如果程序无法调试,输出中提示:(无法连接到logcat,GetProcessId 返回了:0) 那么取消掉 使用共享运行时,低版本的Xamarin取消掉 Use Shared Runtime…