首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建Gradle +前卫+ APKLib

构建Gradle +前卫+ APKLib
EN

Stack Overflow用户
提问于 2014-07-08 23:32:18
回答 1查看 521关注 0票数 2

我开发了一个Android库,由我开发的测试应用程序使用。

我需要混淆Android库的代码,以便能够将其交付给一些客户端,而不会让他们看到太多的代码。但是我需要一个Android库,与我的非混淆库具有相同的结构,这样我仍然可以用Eclipse打开它,并在其他应用程序中使用它。

我试过用Gradle和Proguard来做这件事,但我在那里过得很艰难。

首先,我使用插件"android-library“来构建apklib,但是我不能很好地理解build文件夹下创建的文件夹的结构。

哪个文件夹应该包含带有混淆类的新Android库项目?我这样做对吗?

此外,我正在经历一段艰难的时期,因为许多原始类似乎没有生成,并且一旦我完成构建,就会丢失,但我真的不能弄清楚原因,可能的原因是什么?

有没有可能是因为使用了一些不推荐使用的方法,或者类似的东西?

我的最后一个问题是关于在构建期间导入库的正确方式,我的Android库使用了一些外部jars来工作,但是如果我在构建期间检查输出,我可以看到我似乎正在丢失大多数原始的库类:

16:36:33.809信息原始类数: 5366 16:36:33.809信息最终类数: 615

是什么导致了这种情况?我知道我的问题很模糊,但我已经为这个问题挣扎了一天,现在还不能真正改善我的构建。任何关于如何正确构建Android库的帮助或建议都将不胜感激。

编辑:

我找到了一些相关的帖子,但是没有什么是真正清楚的关于Gradle使用Proguard生成的输出。看起来参加的输出是lib文件夹下的.aar文件,但这并不是我真正想要的。到目前为止,我在Proguard设置文件中使用了一些特殊的规则来强制我的一些文件使用-keep规则(但我真的不能理解,如果我不使用这些规则,为什么它们不被保存和混淆),这在某种程度上是成功的。然后,我使用在bundles/release文件夹中生成的classes.jar,并将其移动到一个新的Android Library Project libs文件夹中,从我最初的Android Library Project中复制资源。使我成为一个源代码模糊的Android库项目,但看起来不是很干净。

EN

回答 1

Stack Overflow用户

发布于 2014-07-09 20:16:45

首先,你不能在eclipse.since中打开你的混淆代码,混淆过程不会生成你想要在eclipse.Obfuscation中打开的项目结构,这是一个保护你的二进制分布式代码的过程,而不是源代码code.Please,请记住这一点。

我认为你需要做你的安卓库的二进制发行版project.For安卓库项目的二进制发行版扩展使用的是aar,如AAR FORMAT中所提到的

这意味着您需要查找在build文件夹下生成的yourlibrary.aar文件。对于android库项目,不要混淆你的代码。因为您客户端很难使用库。

您将在build/outputs/aar文件夹中获得.aar文件。

我认为这已经足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24635912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档