Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexException: Multiple dex files define Lcom/google/zxing/integration/android/IntentResult;
Run Code Online (Sandbox Code Playgroud) 我正在我的应用程序上尝试新的MultiDex支持,到目前为止我已经设法正确编译我的应用程序,但在运行它时,我得到以下异常:
java.lang.RuntimeException: Unable to instantiate application android.support.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/me.myapp.main-2.apk"],nativeLibraryDirectories=[/data/app-lib/me..main-2, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4382)
at android.app.ActivityThread.access$1500(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/me.myapp.main-2.apk"],nativeLibraryDirectories=[/data/app-lib/me.myapp.main-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.Instrumentation.newApplication(Instrumentation.java:998)
at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
Run Code Online (Sandbox Code Playgroud)
这是我的gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion …Run Code Online (Sandbox Code Playgroud) 我有一个.dex文件,称之为classes.dex.
有没有办法"读取"它的内容classes.dex并获得所有类的列表作为完整的类名,包括它们的包com.mypackage.mysubpackage.MyClass,为exmaple?
我在考虑com.android.dx.dex.file.DexFile,但我似乎无法找到一个检索整个类的方法.
在android项目中,build.gradle文件,我已经通过这一行了
dexOptions{
javaMaxHeapSize "4g"
}
Run Code Online (Sandbox Code Playgroud)
我想知道这个javaMaxHeapSize的确切目的以及4g意味着什么.我能给出的其他价值是什么?
本问题已移至https://softwarerecs.stackexchange.com/questions/27841/plugins-architecture-for-an-android-app
我想为开源应用程序实现一个插件系统,因为它已经变得非常庞大,只有少数用户需要许多功能.发布不同的应用程序并不是一个好的解决方案,因为userA需要feature7和feature24而userB需要feature39和feature24.
我在哪里可以找到插件架构的好例子?
这是我想要一个插件能够做到的:
例如,其中一个插件必须在特定屏幕上添加一个按钮,单击此按钮会增加应用程序数据库中的值.据我所知,这对内容提供商和意图不可行.
我想避免让核心应用程序的代码复杂化,到处都是大量的钩子.
插件的形式可以是SD卡上的文件,应用程序或其他任何内容.
编译我的应用程序时出现以下错误:
[2014-05-07 21:48:42 - Dex Loader] Unable to execute dex: Cannot merge new index 65536 into a non-jumbo instruction!
Run Code Online (Sandbox Code Playgroud)
我的观点是,如果我在我的包中的任何地方声明一个新方法,我会收到此错误.如果我没有,该应用程序编译.
我想知道这个错误的确切含义(并准确无误).我的应用程序很大,但我不认为它那么大!所以:
我已经知道在SO中的类似问题中解决了"jumbo"启用标志,但是,我认为jumbo模式在我目标的API级别(ICS)上不可用.
我正在开发针对dex方法计数限制运行的Android应用程序.有没有一种简单的方法来显示按包分组的方法计数?我可以得到总方法数,但我的应用程序有多个组件,我试图找出哪个组件是最大的贡献者.
我可以计算jar文件中使用的所有方法.我的APK使用某些外部JARS,并且有大约100个类是精确的.
我使用dex2jar JAD等反编译器等等,但它们似乎只在特定的类文件中显示方法.
有没有办法可以获得总数?
好的,现在我真的被困在这里了.我不知道该做什么,去哪里或任何事情!
我一直试图卸载,重新安装SDK和Eclipse版本,试图谷歌这个,但nu-uh ......没什么!
我可以在模拟器中运行我的应用程序,但我无法导出它...
[2011-10-07 16:35:30 - Dex Loader]无法执行dex:多个dex文件定义Lcom/dreamhawk/kalori/DataBaseHelper;
这是dataBaseHelper
package com.dreamhawk.kalori;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
public class DataBaseHelper extends SQLiteOpenHelper {
// The Android's default system path of your application database.
private static String DB_PATH = "/data/data/com.dreamhawk.kalori/databases/";
private static String DB_NAME = "livsmedel_db";
private DataBaseHelper myDBHelper;
private SQLiteDatabase myDb;
private final Context myContext;
private static final String DATABASE_TABLE = …Run Code Online (Sandbox Code Playgroud) 我正在使用新的gradle构建系统,我遇到了以下问题:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/kibo/mobi/BuildConfig;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Run Code Online (Sandbox Code Playgroud)
打印依赖项我什么都看不到,这里是:
firstDebugCompile - ## Internal use, do not manually configure ##
\--- KiboGradle:KiboSDK:unspecified
+--- KiboGradle:TextInputAPI:unspecified
+--- KiboGradle:VoiceImeUtils:unspecified
+--- com.google.android.gms:play-services:5.0.77
| \--- com.android.support:support-v4:19.1.0
+--- com.squareup.picasso:picasso:2.3.2
+--- com.google.code.gson:gson:2.2.4
\--- com.crittercism:crittercism-android-agent:4.5.1
Run Code Online (Sandbox Code Playgroud)
我试图验证问题不是重复的支持库,所以我尝试添加:
compile ('com.google.android.gms:play-services:5.0.77'){
exclude module: 'support-v4'
}
Run Code Online (Sandbox Code Playgroud)
这导致一些support-v4库类无法找到的错误,因此这个库不能从任何其他位置编译.
有一件事我脑子里想的,可能会导致这个问题是我使用的事实Flavorsfeautre在oreder创建我有不同的国土资源文件的应用程序的多个版本.
当我查看错误中的文件时,我看到了:
**
* Automatically generated file. DO NOT MODIFY …Run Code Online (Sandbox Code Playgroud)