Collect some questions and troubles in android. May it can help u ~
You can search and quick find your answer
你可以搜索(cmd+f/ctrl+f)关键字来快速找到你的问题
1. 如何加快Gradle编译/执行速度 编译速度
Gradle编译
Gradle加速
- 尽可能的使用最新版本IDE的Instant run来调试你的项目。
- 请随手开启Android Studio的offline模式。
- 在你确保你的混淆没问题的情况下在debug模式下关闭所有混淆minifyEnabled false, shrinkResources false。
- 尽可能的让你的所有module的同一个依赖库版本一致。
- 如果不想开offline模式的话在添加依赖的时候尽量明确版本号,省去gradle查找最新版的时间,尽量不要compile ‘com.facebook.fresco:fresco:latest’ 或compile ‘com.facebook.fresco:fresco:1.+’。
- 开启守护线程并行编译,并尽可能的加大你的编译在gradle.properties中添加
org.gradle.parallel=true
org.gradle.daemon=true。 - 在debug模式下build尽可能的不要在gradle里面写任务(比如获取git revision/date/version name等等参数),你可以在你的耗时任务之前加一个判断:
if (!System.getenv('CI_BUILD')) {
return 0
}
来跳过当前任务(假设你在debug下不用到该值)。 - 如果在用Shadowsocks的话可以给Android studio也加上proxy来加快Gradle的下载,在preference里面修改http Proxy方式为socks并且设置ip:127.0.0.1, 端口1080,也就是用本机来代理。
- 用Gradle下载一些新的库时候,如果觉得慢你可以建立另外一个新的project, 在另外一个新的project来下载你所需要的库,下载好了开启offline模式一键同步到你当前开发的工程,再也不用浪费时间在等库下载了。
- 如果你电脑够fast够niubility就尽可能的释放你的VM options,在AS的help-->Edit Custom VM Options里面修改(量力而行):
-Xms2048m
-Xmx2048m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
Refer to:
1.Blog >> making-gradle-builds-faster
2.StackOverFlow >> building-and-running-app-via-gradle-and-android-studio-is-slower-than-via-eclips
2.如何用Gradle多渠道打包 多渠道打包
Gradle渠道
- 在Gradle中配置productFlavors,更多参考Refer1
productFlavors {
channel_360 {
applicationId "com.example.flavor1"
versionCode 20
}
channel_yingyongbao {
applicationId "com.example.flavor2"
minSdkVersion 14
}
channel_baidu {}
channel_beta {}
}
- 美团的多渠道打包方案参考Refer 2
Refer to:
1.http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors
2.http://tech.meituan.com/mt-apk-packaging.html
1. 如何设置Dialog/DialogFragment的背景为透明?dialog
dialog透明
背景透明
- 重写dialog,然后调用执行getWindow().setBackgroundDrawableResource(R.color.transparent);
- 如果是DialogFragment,则为在onCreatView中getDialog().getWindow().setBackgroundDrawableResource(R.color.transparent);
2. Dialog的背景该怎么变成圆角?dialog
dialog背景圆角
dialog圆角
- 首先需要把Dialog设置成为透明背景,注意可能需要去掉Dialog的标题栏