84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
VisualStudio中如果当前模式为DEBUG,那么我在代码中可以在#if DEBUG中执行一些代码,比如Debug模式中访问的API为www.aaa.com。而正式发布release时API是www.bbb.com,这在vs中是可以。不知道Android Studio中有没有类似的功能。
人生最曼妙的风景,竟是内心的淡定与从容!
Android Studio 会自动添加 BuildConfig 类,这个类有一个字段叫 DEBUG,它的值根据当前的编译方式自动生成,编译方式为 debug 时值为 true,release 时值为 false。所以可以根据这个特点在函数中添加 if (BuildConfig.DEBUG) 类来实现类似的功能,一个比较常见的例子是自定义 Log 类,使得在 debug 时输出 log,release 时不输出:
public void d(String tag, String message) { if (BuildConfig.DEBUG) { Log.d(tag, message); } }
没有,Java不支持宏定义,所有的调试信息都会进入编译结果。你只能在程序中设置变量让调试程序在生产环境中不执行。Android Manifest中有版本信息,默认会生产Debug和Release两种版本,你可以通过程序判断来实现切换参数。
AS的调试过程中可以动态设置变量值~
这个功能很鸡肋,明明可以自己写代码实现的(不超过3行代码就能搞定),非要android原生去实现,如你所愿的话安卓开发将会更加复杂,我们需要记住更多鸡肋功能了(得不偿失)
可以利用BuildConfig来实现
可以,借助gradle配置:变量、版本信息
看看android studio的debug技巧,http://weishu.me/2015/12/21/a...,不要太牛逼
Android Studio 会自动添加 BuildConfig 类,这个类有一个字段叫 DEBUG,它的值根据当前的编译方式自动生成,编译方式为 debug 时值为 true,release 时值为 false。所以可以根据这个特点在函数中添加 if (BuildConfig.DEBUG) 类来实现类似的功能,一个比较常见的例子是自定义 Log 类,使得在 debug 时输出 log,release 时不输出:
没有,Java不支持宏定义,所有的调试信息都会进入编译结果。你只能在程序中设置变量让调试程序在生产环境中不执行。
Android Manifest中有版本信息,默认会生产Debug和Release两种版本,你可以通过程序判断来实现切换参数。
AS的调试过程中可以动态设置变量值~
这个功能很鸡肋,明明可以自己写代码实现的(不超过3行代码就能搞定),非要android原生去实现,如你所愿的话安卓开发将会更加复杂,我们需要记住更多鸡肋功能了(得不偿失)
可以利用BuildConfig来实现
可以,借助gradle配置:变量、版本信息
看看android studio的debug技巧,http://weishu.me/2015/12/21/a...,不要太牛逼