Articles of dex

Proguard flag dontobfuscate导致翻译被中断exception

我遇到过以下exception。 当我在Proguard配置中省略-dontobfuscate标志时一切都很好。 任何想法如何启用此标志和完整构建? 日志: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:myTask:transformClassesWithDexForMyFlavor’. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:61) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:45) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:233) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:74) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:55) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) at […]

-main-dex-list中的类太多了

我在构建应用程序时遇到此exception。 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Too many classes in –main-dex-list, main dex capacity exceeded at com.android.dx.command.dexer.Main.processAllFiles(Main.java:494) at com.android.dx.command.dexer.Main.runMultiDex(Main.java:332) at com.android.dx.command.dexer.Main.run(Main.java:243) at com.android.dx.command.dexer.Main.main(Main.java:214) at com.android.dx.command.Main.main(Main.java:106) 我搜遍了所有并得到了解决方法: http://blog.osom.info/2014/12/too-many-methods-in-main-dex.html 但是这个问题的正确解决方案是什么?

Android应用程序在开始时因“E / dex2oat:无法创建燕麦文件”和“非0退出状态”而崩溃

我的应用程序(仍然是WIP)在不同设备上运行良好。 但突然间,它拒绝启动华为Honor 7(Android 6.0 / EMUI 4.0.3)。 Logcat给了我以下内容: > E/dex2oat: Failed to create oat file: > /data/dalvik-cache/arm64/data@app@myapp.mycomp.de.myapp-1@split_lib_slice_1_apk.apk@classes.dex: > Permission denied 其次是 > 07-12 19:23:49.223 > 11280-11280/myapp.mycomp.de.myapp W/art: Failed > execv(/system/bin/dex2oat –runtime-arg -classpath –runtime-arg > –debuggable –instruction-set=arm64 –instruction-set-features=smp,a53 –runtime-arg -Xrelocate –boot-image=/system/framework/boot.art –runtime-arg -Xms64m –runtime-arg -Xmx512m –instruction-set-variant=generic –instruction-set-features=default –dex-file=/data/app/myapp.mycomp.de.myapp-1/split_lib_slice_1_apk.apk > –oat-file=/data/dalvik-cache/arm64/data@app@myapp.mycomp.de.myapp-1@split_lib_slice_1_apk.apk@classes.dex) > because non-0 exit status spli_lib_slice_N_apk.apk-parts发生此错误9次。 […]

将java服务器移植到Android

我正在开发一个使用OpenMRS作为Android后端的医疗记录系统。 OpenMRS依赖于一些严重的重量级库,包括Hibernate和Spring。 “Dexing”整个OpenMRS应用程序生成的文件对于Android classes.dex文件格式来说太大了(这个大小限制已经很好地记录了)。 为了解决这个问题,我目前正致力于从依赖项创建多个dex文件,并在运行时使用Android的dex类加载器加载它们。 由于服务器的移动版本将在实践中使用的方式,尽管存在巨大的依赖性,但实际的处理需求将非常低。 我不打算在手机上运行企业服务器。 在我花费数周时间来设计这个之前,我只是想问开发者社区:这个策略只是一个梦想吗? 如果我加载所有这些库,整个二进制文件是否会加载到RAM中并且只是破坏系统? 有没有一种优化这种应用的好方法? 我在这里缺少一些明显的问题或解决方案吗?

Gradle – DexException:多个dex文件定义

我知道这个问题已经被提出但是我找不到合适的答案来解决我的问题。 我希望你们能帮助我。 该exception说明已Multiple dex files defined并尝试了几种常见方法来解决此问题。 不幸的是,这没有帮助。 * What went wrong: Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java” finished with non-zero exit value 2 Cause: com.android.dex.DexException: Multiple dex files define Lnet/jcip/annotations/GuardedBy; UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lnet/jcip/annotations/GuardedBy; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) […]

无法执行dex:多个dex文件定义了Landroid / support / v7 / util / ThreadUtil $ MainThreadCallback;

我无法执行dex:多个dex文件错误。 控制台错误: [2015-12-22 16:39:38 – Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/util/ThreadUtil$MainThreadCallback; [2015-12-22 16:39:38 – Talkr] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/util/ThreadUtil$MainThreadCallback; 下面我发布了订单和导出的截图。我无法检查android私有库。如果我检查它,我的应用程序变慢,我无法运行该应用程序。 订单和出口: 编辑:如果我取消选中我的所有库,将解决多个dex错误。但是我在Debug中获得Thread挂起exception。 下面我发布了调试错误。 任何人都知道如何解决这个问题。谢谢。

“编写输出的麻烦:太多的字段引用:70185; max是65536.你可以尝试使用–multi-dex选项。“在构建Android项目时

我发现了这个错误并且没有find错误消息的命中,所以我想我会分享我想出的解决方案来解决其他任何面临重复工作问题的人。 在编写用于(大型)应用程序的新Android库(apklib)时,当我将新项目添加为依赖项时,我在dexing期间遇到以下错误: 编写输出时出现问题:字段引用太多:70185; 最大值是65536。 您可以尝试使用–multi-dex选项。 包装参考: 它失败的特定构建步骤是: java -jar $ANDROID_SDK/build-tools/19.0.3/lib/dx.jar –dex \ –output=$PROJECT_HOME/target/classes.dex \ 使用错误消息建议的–multi-dex可能是一个解决方案,但我不是应用程序项目的所有者,它已经有一个庞大的复杂构建过程,我会毫不犹豫地改变它。 我可以通过一个没有字段的无操作测试库项目来重现这个问题,但在错误输出中它被列为具有6000+字段。 在错误输出中列出的包中,有少数具有类似的6k +字段计数,但绝大多数具有更合理的<1k字段计数。 这个问题类似于Facebook着名的黑客入侵问题的“太多方法”问题。 FB解决方案似乎疯了,我发现的唯一其他解决方案(例如, 这个Android错误票 , 或者这个 , 这个SO答案 , 这个其他SO答案 )都涉及更改主应用程序的代码,这远远超出了我想做的事。 还有其他解决方案吗?

使用Ant转换为dex时的ZipException,在eclipse中它可以正常工作

我有一个在Eclipse中构建好的项目,但在执行“ant debug”时会抛出ZipException。 输出如下(路径和项目名称除外) -dex: [dex] Converting compiled files and external libraries into /home/…/Android/[folder]/bin/classes.dex… [dx] [dx] UNEXPECTED TOP-LEVEL EXCEPTION: [dx] java.util.zip.ZipException: error in opening zip file [dx] at java.util.zip.ZipFile.open(Native Method) [dx] at java.util.zip.ZipFile.(ZipFile.java:131) [dx] at java.util.zip.ZipFile.(ZipFile.java:148) [dx] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:206) [dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) [dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) [dx] at com.android.dx.command.dexer.Main.processOne(Main.java:418) [dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) [dx] at com.android.dx.command.dexer.Main.run(Main.java:206) [dx] at […]

构建apk时出错 – “多个dex文件定义Lcom / google / ads / Ad”

我一直在用这头发撕掉我的头发,过去3个小时我一直试图解决它,但一直无法做到。 我已经创建了一个Android应用程序,我已经准备好把它放在Android市场上但是我在尝试导出到apk时遇到此错误。 无法执行dex:多个dex文件定义Lcom / google / ads / Ad; 我已经阅读了很多关于这个问题并尝试了很多解决方案,但似乎没有任何帮助。 我已经清理并重建了,我删除了bin文件夹,我确保bin文件夹被排除在构建路径之外。 没有任何效果。 如果有人能帮助我,我会非常感激。

Eclipse,Android:意外无法执行dex:多个dex文件定义

问题:我无法构建我的项目。 当我尝试以下标志时,控制台中会显示: [2014-09-28 23:49:30 – Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; [2014-09-28 23:49:30 – Shop] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 我花了几个小时寻找这个问题的解决方案,但没有结果..我试图清理项目,删除bin文件夹等但没有任何工作.. 请帮助,我不知道该怎么做..