欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 运维知识 > android >内容正文

android

android 测试工程 关闭混淆,混淆android test项目以及项目(在发布和混淆版本上运行测试)... -ag凯发k8国际

发布时间:2024/10/8 android 0 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 android 测试工程 关闭混淆,混淆android test项目以及项目(在发布和混淆版本上运行测试)... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在阅读赏金的评论之后,我意识到op实际上只是提出了一些简单的是/否回复,所以我将把我的评论扩展到答案.一般来说,正确设计的proguard.cfg和项目结构足以防止这种困境.

典型的proguard配置(参见第7节“this link中的完整android应用程序部分”)保证在混淆期间保留所有与android相关的内容,如activity,view等.例如,改变配置没有任何意义,以混淆acticity.oncreate()方法,因为它显然会在运行时破坏应用程序.换句话说,一个好的设计proguard.cfg将保护所有公共接口到底层运行时框架并保持它们保持不变.

... ...

-keep public class * extends android.app.activity

-keep public class * extends android.app.application

-keep public class * extends android.app.service

-keep public class * extends android.content.broadcastreceiver

-keep public class * extends android.content.contentprovider

-keep public class * extends android.view.view {

public (android.content.context);

public (android.content.context,android.util.attributeset);

public (android.content.context,android.util.attributeset,int);

public void set*(...);

}

... ...

另一方面,android测试项目应该专注于测试android组件(在混淆期间故意保留),即一个视图被正确呈现,一个按钮点击执行正确的任务,并应避免为不依赖于任何的pojo类编写测试android api,请注意这些pojo通常是我们混淆的.最好在应用程序或引用的java项目中为这些pojo编写纯junit测试,以便在创建最终版本(模糊,签名和zipaligned)之前在maven测试阶段涉及这些junit测试.此外,良好的oo设计将屏蔽这些中间pojo依赖性并使它们对外部透明,即运行时框架.

app/

src/main/java/

src/test/java/

androidmanifest.xml

... ...

app-test/

src/main/java

androidmanifest.xml

... ...

在android测试项目中编写pojo junit测试是绝对正常的,但是,如果您仍然希望能够针对混淆的apk运行测试项目,则需要正确调整应用程序项目的proguard.cfg并在混淆期间保留pojo类.为了适应测试代码.

总结

以上是ag凯发k8国际为你收集整理的android 测试工程 关闭混淆,混淆android test项目以及项目(在发布和混淆版本上运行测试)...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

网站地图