Articles of jar

Gradle将重复文件放入apk文件中

我正在使用gradle 1.10,android插件的版本是0.8.0。 我的android项目需要这两个jar: jackson-core-asl-1.9.11.jar和jackson-mapper-asl-1.9.11.jar 。 我这样添加文件: dependencies { compile files(‘libs/jackson-core-asl-1.9.11.jar’) compile files(‘libs/jackson-mapper-asl-1.9.11.jar’) } 在gradle构建期间,我收到一条错误消息,指出这两个文件在META-INF/ASL2.0中重复。 我通过排除以下文件解决了这个问题: packagingOptions { exclude ‘META-INF/ASL2.0’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ exclude ‘META-INF/notice.txt’ exclude ‘META-INF/license.txt’ } 我必须排除所有这些,因为显然所有这些文件都有重复的文件。 我想知道为什么会出现这个问题。 这是android插件或gradle本身的错误吗? 可以排除上述文件导致任何问题吗? 我只是排除上面提到的jar子或那些META-INF文件还有什么吗? 我不想排除我的项目需要的任何东西

如何在Eclipse中使用Proguard对Android库(.jar文件)进行模糊处理

我已经看过很多关于如何在Eclipse中使用ProGuard来混淆Android应用程序(.apk文件)的post。 另请参阅http://developer.android.com/guide/developing/tools/proguard.html : “当您在发布模式下构建应用程序时,无论是通过运行ant发布还是使用Eclipse中的导出向导,构建系统会自动检查是否设置了proguard.config属性。如果是,ProGuard会自动处理应用程序的字节码在将所有内容打包成.apk文件之前 。“ 但是如果使用Eclipse Export Wizard在.jar文件中导出Android项目,请按照上述步骤(创建文件proguard.cfg,在文件default.properties中将proguard.config属性配置为proguard.cfg,使用导出向导)似乎没有工作 – 我发现在生成的jar文件中没有类名等的混淆。 我的proguard.cfg文件中也有以下设置,但是我在项目目录或proguard目录中看不到任何输出文件(甚至没有创建该目录)。 -dump class_files.txt -printseeds seeds.txt -printusage unused.txt -printmapping mapping.txt 我甚至在我的项目目录中使用以下行创建了一个文件project.properties,但这似乎并没有引起ProGuard的采取行动: proguard.config=proguard.cfg 此项目中未定义任何活动。 我在Windows上使用Android 2.3.1和Eclipse Galileo 3.5.2。 与Android 3.0相同的结果。 似乎混淆步骤必须以某种方式在Eclipse导出向导中明确插入。 我将不胜感激任何帮助或见解。 谢谢。

如何将Android库项目转换为外部JAR?

我有一个Android库项目,一直很适合我,但现在我有兴趣将它“转换”为外部JAR。 我怎么做? 任何Android库项目都可以转换为外部JAR吗? 如果没有,有什么限制或限制?

如何在Android中添加java.awt.image包

我有一个依赖java.awt.Image包的外部库。 但是,Android库不包含它。 有人知道如何将其添加到Android? 谢谢!

如何防止客户端在Android库中看到内部私有类?

我有一个包含几个包的图书馆 – 我们说吧 包a; 包装b; 在包内我有公共a_class 在包内b我有公共b_class a_class使用b_class。 我需要从中生成一个库,但我不希望客户端看到b_class。 我所知道的唯一解决方案是将我精美易懂的软件包压缩为单个软件包,并使用b_class的默认软件包访问。 还有另一种方法吗? 也许使用接口或某种forms的设计模式?

ant jar错误:执行失败:java.io.IOException:无法运行程序… $ {aapt}“:error = 2,没有这样的文件或目录

我正在尝试为Unity编译一个简单的Java库,运行ant jar后,我收到以下消息: /Applications/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:649: The following error occurred while executing this line: /Applications/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:694: Execute failed: java.io.IOException: Cannot run program “/Users/****/UnityProjects/****/JavaTestPlugin/${aapt}”: error=2, No such file or directory 这很奇怪,因为我在成功之前编译了这个类,并且我拥有我认为需要的一切。 即Android Studio和相关软件包(Tools,Android 4/5等)。 我注意到aapt不在我的adt-bundle / sdk / platform-tools目录中,但是它位于一个build-tools目录中。 即使在我的道路上包括后者也无济于事。 无论如何,我正在使用最新版本的Android Studio运行Mac OS 10.10.3。 此类在升级到Yosemite之前编译。 我已经看到了如何解决这个问题的建议,但所有这些建议都适用于Linux而不是Mac OS。

Android facebook SDK作为JAR

有没有将facebook SDK库项目构建到JAR文件中(如ADT 16对库项目做的那样)并将其添加到项目中? 我没有更改facebook SDK中的任何内容,因此不需要将其添加为库项目。 到目前为止它一直对我很好,我想知道这是否是开发人员使用facebook SDK时常用的做法? 它加快了构建过程,因为Eclipse不必解析库项目中的所有资源。

“包没有正确签名”出现给一些用户

我在Google Play上有一个应用程序,已经看了无数次更新。 最新的更新(第一次)没有为某些人安装,他们只是得到“包没有正确签名”错误消息。 它适用于我在家里的Android设备。 我正在build立和签署一个自定义的构build系统,基本归结为调用ant release ,其次 jarsigner -verbose -keystore $(keystore) -storepass $(storepass) $(appname).apk $(alias) zipalign -v 4 $(appname).apk $(finalname).apk 这已经工作了多年,没有任何修改的构build系统或密钥库,我不知道为什么它停止为一些用户工作。 我注意到文档添加了以下警告: 从JDK 7开始,缺省签名algorithm[sic]已经发生变化,您需要在签名APK时指定签名和摘要algorithm[sic](-sigalg和-digestalg)。 所以我加了-sigalg SHA1withDSA -digestalg SHA1 ,它产生一个不同大小的APK。 我可以尝试滚动,但我不想推出更新,并惹恼用户,而不知道我实际上正在修复的东西。 为什么这只对一些人失败? 我如何解决它? 明确指定-sigalg / -digestalg是否够用?

Android库JAR是否依赖于Android库AAR?

我有一个Android库项目FooLib 。 FooLib引用了像Android Context的东西,但不需要任何资源文件( res/东西),所以我现在将它打包为一个JAR,供我的应用程序使用。 我现在想让FooLib依赖于BarLib ,但BarLib 确实使用资源,所以我不能将BarLib为JAR。 相反,它被打包成一个AAR。 我有可能让FooLib依赖于BarLib但继续将FooLib为JAR? 或者,在FooLib中有一个AAR依赖,迫使我把它变成一个AAR呢?

Android – 将外部库添加到项目

将WEKA库添加到我正在进行的项目中,我遇到了很多麻烦。 我遵循了几个教程,解释了如何做到这一点,包括Android开发者指南: http://developer.android.com/guide/appendix/faq/commontasks.html#addexternallibrary 和SO上的一些贴子。 我用weka.jar文件在我的项目中创build了一个文件夹,创build了一个新的库(将weka.jar文件添加到库中),并将此库包含在我的构buildpath中。 我还在项目属性的“订单和导出”选项卡下添加了库。 我也尝试导入jar文件,以便将jar的实际内容提取到我的项目中的一个目录中。 所有这一切的最终结果是,我的项目能够正确地build立,没有错误,但是当它在模拟器上运行我的代码时,我得到以下exception: 04-10 22:52:21.051:错误/ dalvikvm(582):找不到类“weka.classifiers.trees.J48”,从方法edu.usc.student.composure.classifier.GaitClassifierImpl引用。 与J48是我的代码中的类参考。 有没有人有任何额外的build议,我可能忽略了? 谢谢!