
用户项目应用程序将使用该库的方式是:
startActivity( new Intent(context,libraryActivityname.class) );
所以我需要在库项目中保留入口点Activity的名称,这就是全部.
当我使用默认的ProGuard设置时:
buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' }} 以及suggested example for library – 没有发生任何事情,通过点击用户应用程序内的活动名称(当他导入它时) – 可以看到源代码.
谢谢,
解决方法 由于您没有典型的库,因此不应包含典型的库示例.首先,您需要启用Proguard执行,更改此行:
MinifyEnabled true
其次,您不希望保留所有公共类,而只保留活动:
-keep class libraryActivityname { public protected <methods>; } 如果我正确理解你的问题,其余的类可以完全混淆,所以除非你在某处使用反射,否则不需要进一步配置.
如果将混淆的类重新打包到内部包或使用的东西中,也会很好
-repackageclasses my.library.package.internal
这可能也需要
-allowaccessmodification
顺便说一句. ProGuard不会混淆代码本身,只会混淆类/方法名称.
总结以上是内存溢出为你收集整理的Android ProGuard如何隐藏/混淆导出库的源代码全部内容,希望文章能够帮你解决Android ProGuard如何隐藏/混淆导出库的源代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)