Java代码混淆
https://www.guardsquare.com/en/proguard/manual/introduction
http://www.runoob.com/w3cnote/android-tutorial-exercise-6-html.html
混淆
还有有些地方是要避免混淆的,不然APP运行的时候会出错。
混淆规则通用模板如下:
-optimizationpasses 5
-dontskipnonpubliclibraryclassmembers
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-useuniqueclassmembernames
-allowaccessmodification
-renamesourcefileattribute SourceFile
-keepattributes Signature
}
-keep public class * extends android.app.Fragment
-dontwarn org.junit.**
然后build.gradle里修改下,启用混淆以及打开压缩:
3. 签名打包
关于签名生成打包官方文档已经有详细叙述(可能需要梯子):https://developer.android.com/studio/publish/app-signing.html#generate-key签名生成:
手动打包非常简单,也很low:依次点击:Build -> Generate Signed APK
然后选择哪里存放生成的apk:
然后就可以看到生成的apk了:
另一种是gradle命令行构建的,也很简单,图形化的可以看官方 文档,我这里直接贴代码,一般的话签名文件是不会丢到项目里 的,我这里因为是开源的,所以把my.jks也丢项目里了,然后 修改下build.gradle,依次是签名信息
4.APK瘦身
Android Studio 自带的 APK Analyzer,可以对我们的APK做一个定量分析:
只是用工具对图片进行压缩,这里安利个神器:ImageOptim
压缩完再看下apk体积变成了1.3mb,此时再分析下:
感觉没什么太大的变化,但是apk就是减少了0.1mb,图片 资源压缩是apk瘦身最基本的操作。关于其他的优化套路 后面版本再细谈,项目比较小,可优化的潜力很低...
5.应用发布
接着点APK版本上传我们的APK,这里会对apk包名做校验, 我之前写错一直没发现,后面改了才可以;
等明天管理员审核通过后就可以在酷安上找到我们的App了!
最后把我们develop分支上的代码合并到master上,每次正式版本 的才合并到master,同时打上Tag,打Tag是一种良好的习惯, 等版本线长了你就能体会到这个习惯给你带来的便利了:
至此Android入门实战的项目:DrySister的第一版已经完结了, 回顾下一路走来,我们都学习了什么些什么吧?
13.发布应用到应用市场。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 开发中为了代码安全一般都会使用 ProGuard 进行代码混淆,它可以把类名、属性名和方法名变为毫...
- 2016-10-23光源coder 转载自 http://www.jianshu.com/writer#/note...