jjzjj

android - 链接到外部 JAR 库时使用 DexClassLoader 进行反射

我正在尝试为Android应用程序构建一个插件架构。我有一个主机应用程序,它将检查apk“插件”文件的目录,将它们加载到DexClassLoader中,并调用一个方法来获取DerivedLibraryObjects数组。我认为问题在于DerivedLibraryObject扩展了包含在外部JAR库中的基类。所以宿主和插件都引用了这个JAR。当我尝试获取DerivedLibraryObjects数组时,出现以下异常:04-0114:26:57.996:ERROR/AndroidRuntime(23386):java.lang.IllegalAccessError:Classrefinpr

方法参数的Android字节码分析

我想分析Android字节码,找到所有与方法参数相关的指令(对参数进行切片)。有人可以为此提供一些引用吗?任何帮助将不胜感激! 最佳答案 本文档详细描述了Dalvik字节码:http://source.android.com/tech/dalvik/dalvik-bytecode.html可能也有兴趣:http://source.android.com/tech/dalvik/dex-format.html(这些曾经位于源代码树的dalvik/docs目录中,但被“提升”了。)您可以将dexdump命令与-d一起使用,以生成DEX文

java - 来自 APK 的源代码

我在搜索引擎中搜索有关将dex文件转换为jar文件的信息,但我在code.Google.com中找不到dex2jar文件我从here得到了基本的想法.但是当我从dex2jar-0.0.9.8.zip格式下载文件时here,我找不到dex2jar.jar文件,所以你能告诉我在哪里可以找到文件吗? 最佳答案 提取dex2jar-0.0.9.8.zip文件并移动到dex2jar-0.0.9.7之类的桌面文件夹...然后获取androidappclasses.dex文件并移动到该目录...打开终端并更改为你的dex2jar目录..键入这个命

Android dex 在构建时给出 BufferOverflowException

当编译一个特定的Android项目时,并且只在我的Windows机器上,我从dex中得到一个java.nio.BufferOverflowException。使用Eclipse和使用Ant时都会出现此问题。使用Ant时的输出是:...[dex]Pre-DexingC:\MyProject\libs\android-support-v4.jar->android-support-v4-5f5341d3c1b10a79d7d93f9c1e64421e.jar[dex]ConvertingcompiledfilesandexternallibrariesintoC:\MyProject\bi

android - 预编译的dex库

我的Android项目包含大量Java库,每次我启动我的应用程序时,这些库都会编译为dex。图书馆不会改变。有什么方法可以将这些库预编译为dex吗?每次在制作apk时将相同的库编译为dex都是无用的工作。 最佳答案 我遇到了类似的问题并找到了解决方案,您也必须使用(未记录的)--incrementalswitch和dex。引用thissolutiononSO获取更多信息。 关于android-预编译的dex库,我们在StackOverflow上找到一个类似的问题:

java - 如何将 Java 编译器和 DEX 转换器实现到 Android 应用程序中?

在尝试寻找AndroidJasperReporting的答案时我发现还有另外两个问题需要回答,我被要求作为问题而不是答案来问;):我现在的问题是:“是否有任何编译器可以直接在设备上使用”和“如何在不对设备进行root操作的情况下执行这些编译器。如果有人能给我一个提示,我将非常感激......我对这种方法进行了一段时间的研究,发现了可以直接在未获得root权限的Android设备上创建APK的应用:终端IDE-https://play.google.com/store/apps/details?id=com.spartacusrex.spartacuside&hl=deJavaIDEdr

android - 如何剥离android.Log.d?

一般假设所以我发现了很多关于使用混淆器从代码中剥离日志语句的信息。基本上所有人都说-assumenosideeffects并使用${sdk.dir}/tools/proguard/proguard-android-optimize.txt配置就可以了。我的理解是得到字节码等于做一些if(Consts.DEBUG)Log.d("","");也就是我假设从我的apk中删除对doSomeExpensiveStuff()的调用:android.util.Log.d("Hello","World"+(newFoo().doSomeExpensiveStuff()));我的代码publicclas

java - Android Gradle 异常 : "Multiple dex files define", exploded-aar 下的重复类

我正在尝试在gradle项目中使用我的aar-library(一个Maven项目,使用android-maven-plugin由Jayway构建)但是,当我运行gradleassembleDebug,出现以下异常:UNEXPECTEDTOP-LEVELEXCEPTION:com.android.dex.DexException:MultipledexfilesdefineLcom/google/android/gms/actions/ItemListIntents;atcom.android.dx.merge.DexMerger.readSortableTypes(DexMerger.

android - 用jar文件加速dex进程,可能吗?

我有一台“旧”机器,足以开发我的第一个Android市场应用程序,但只能使用Java!我最近尝试了Kawa和Scala(大约六年前我使用LISP/Scheme转向函数式编程,从那时起我吸收了Erlang和Haskell)并且我必须说我真的很喜欢Scalas的简洁性,而Kawa仍然很棒(很久以前就在一个项目中使用它)。但是...当“dx”程序在kawa.jar文件上运行时,在我的机器上“dexing”时的构建时间是几分钟(!)。有谁知道是否可以“缓存”或“预构建”Jar文件,以便desxing进程只执行已更改的内容。看到它对我使用的jar文件进行dex处理,即使它们与上次相同,我也感到有

android - 使用 Scala 合并 dex 文件时运行 Android APK 文件的问题

我一直在尝试使用Scala2.9.1和SBT0.13以及Android插件创建Android应用程序。但是,运行ProGuard可能会非常慢。因此,相反,当我自上次构建以来未使用任何新类/方法时,我只是尝试将classes.dex与我自己的dexedandroid-app类(如MainActivity.scala等等)。我遇到的问题(在Android4.0.x上)是合并没有任何错误,但是当我尝试运行该应用程序时,我得到这个“不幸的是,MyAndroidApp已停止”。这是logcat日志:EmbeddedLoggerEAppcrashed!Package:com.my.appv0(0.