android : theme 不能乱设, 很容易出问题

1.  在处理页面之间跳转的时候, 参考了一篇博客, 自定义一个theme ,

然后在处理微信支付成功后,界面返回的时候,出现了一个诡异的bug,

中间冒处一个 微信支付的界面 ,查了好几天

代码如下:

<style
    name="MyTheme"
    parent="@android:style/Theme.Light">
    <item name="android:windowNoTitle">
        true
    </item>
    <item name="android:windowIsTranslucent">
        true
    </item>
</style>

关键代码: android:windowIsTranslucent

android: 显示Activity栈的Shell命令 [TODO]

显示Activity栈的Shell命令

Shell命令

adb shell dumpsys activity | sed -n -e '/Stack #/p' -e '/Running activities/,/Run #0/p'

直接获取Activity信息有些冗余, 我们只关注堆栈信息即可.
sed可以编辑显示的文字.
-n, 从截取处开始连续处理.
-e, 多选参数.
'/Stack #/p', 输出含有Stack #的行.
-e '/Running activities/,/Run #0/p', 输出从Running activitiesRun #0的所有行.

输出结果

  Stack #1:
    Running activities (most recent first):
      TaskRecord{299f41ea #2269 A=me.chunyu.spike.wcl_activity_launchmode_demo U=0 sz=6}
        Run #5: ActivityRecord{33926043 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
        Run #4: ActivityRecord{3f181566 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
        Run #3: ActivityRecord{22737e45 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
        Run #2: ActivityRecord{ce0a990 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
        Run #1: ActivityRecord{3de8e378 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
        Run #0: ActivityRecord{1cb28ec4 u0 me.chunyu.spike.wcl_activity_launchmode_demo/.MainActivity t2269}
  Stack #0:
    Running activities (most recent first):
      TaskRecord{bfee9cf #2241 A=com.miui.home U=0 sz=1}
        Run #0: ActivityRecord{279bc098 u0 com.miui.home/.launcher.Launcher t2241}

 

 

参考:
[1] http://www.jianshu.com/p/44943f1646b8 [详细]

gradle : 编译渠道版本

1. 动态替换AndroidManifest.xml中的文本

如上${UMENG_CHANNEL_VALUE}就是一个占位符,然后我们在gradle的defaultConfig;里这样定义脚本:

android {
defaultConfig {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: ‘dev’]
}
}

android {
productFlavors {
google{
applicationId “org.flysnow.demo.google”
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,’google’)
}
baidu{
applicationId “org.flysnow.demo.baidu”
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,’baidu’)
}
}
}

productFlavors.all { flavor ->
manifestPlaceholders.put(“UMENG_CHANNEL_VALUE”,name)
}

参考:
【1】 http://www.flysnow.org/2015/03/30/manage-your-android-project-with-gradle.html 【详细】
【2】 http://hugozhu.myalert.info/2014/08/03/50-use-gradle-to-customize-apk-build.html
【3】https://rinvay.github.io/android/2015/04/09/Build-Android-with-Gradle/
【4】