android proguard.jar,Android Proguard不内联

我使用最新的

Android SDK(4.1),我尝试导出已启用Proguard的签名jar.然而,在反编译优化的APK之后,我注意到我预计将内联的方法不是.

我知道Proguard运行是因为代码被正确地混淆了.所以要确认这一点,我把这个方法添加到我的Activity:

private void testInlining()

{

mConfig = null;

}

这个私有方法在我的活动中只调用一次,因为它是私有的,优化器应该是非常明显的,它只被调用一次,它应该是内联的.

文档说明默认情况下启用了所有优化,而Proguard“内联方法很短或只被调用一次”.

有没有一个特定的标志我应该给Proguard启用内联?

编辑

我的proguard配置文件包含

-optimizationpasses 5

-allowaccessmodification

-overloadaggressively

-repackageclasses ''

-dontskipnonpubliclibraryclasses

编辑

使用后

-whyareyoukeeping class com.templatecompany.templateappname.EntryPointActivity {*;}

我得到了方法不是内联的原因:

[proguard] com.templatecompany.templateappname.EntryPointActivity: void testInlining() (20:21)

[proguard] is invoked by com.templatecompany.templateappname.EntryPointActivity: com.td.media.ivConnection.IvConfig getIvConfig() (14:15)

[proguard] implements com.td.widget.MainActivity: com.td.media.ivConnection.IvConfig getIvConfig()

[proguard] is invoked by com.td.widget.MainActivity: void onCreate(android.os.Bundle) (140:175)

[proguard] implements android.app.Activity: void onCreate(android.os.Bundle)

[proguard] is a library method.

但是我不知道在方法getIvConfig中使用方法testInline的事实是如何被另一种方法使用的,这样可以防止在getIvConfig中的testInline的内联.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值