android怎么发布应用程序,如何在构建Android应用程序的发布版本之前...

我发现一个更容易的解决方案是忘记所有的if检查并在我们调用Ant释放目标时使用ProGuard去除任何Log.d()或Log.v()方法调用.

这样,我们总是为常规构建输出调试信息,而不必为发布版本进行任何代码更改. ProGuard还可以对字节码执行多次传递,以删除其他不需要的语句,空块,并可以在适当的情况下自动内联短方法.

例如,这是一个非常基本的Android ProGuard配置:

-dontskipnonpubliclibraryclasses

-dontobfuscate

-forceprocessing

-optimizationpasses 5

-keep class * extends android.app.Activity

-assumenosideeffects class android.util.Log {

public static *** d(...);

public static *** v(...);

}

因此,您可以将其保存到文件中,然后从Ant调用ProGuard,传入刚刚编译的JAR和您正在使用的Android平台JAR.

另请参阅ProGuard手册中的the examples.

更新(4.5年后):现在我使用Timber进行Android日志记录.

它不仅比默认的Log实现更好 – 日志标记是自动设置的,并且很容易记录格式化的字符串和异常 – 但您也可以在运行时指定不同的日志记录行为.

在此示例中,日志记录语句将仅在我的应用程序的调试版本中写入logcat:

Timber在我的Application onCreate()方法中设置:

if (BuildConfig.DEBUG) {

Timber.plant(new Timber.DebugTree());

}

然后我的代码中的任何其他地方都可以轻松记录:

Timber.d("Downloading URL: %s", url);

try {

// ...

} catch (IOException ioe) {

Timber.e(ioe, "Bad things happened!");

}

有关更高级的示例,请参阅Timber sample app,其中所有日志语句在开发期间发送到logcat,在生产中,不会记录任何调试语句,但会向Crashlytics静默报告错误.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值