我在Android 2.2.1上得到以下异常:
java.lang.NoSuchMethodError: java.lang.String.isEmpty
我是text.isEmpty来自斯卡拉的电话.任何想法,如何解决这个问题?
我有一个简单的android项目,我试图在Eclipse内调试.当我在调试模式下运行并使用"Step Over"按钮时,它似乎经常想要进入Android代码(我不希望它这样做,就像C调试器不会进入libc一样).我得到一个看起来类似于的屏幕:
Class File Editor
Source not found:
The JAR file blahblah/android.jar has no source attachment.
You can attach the source by clicking attach source
Run Code Online (Sandbox Code Playgroud)
我根本不希望它进入Android或Dalvik代码(即使我可以安装源代码)我只对自己的个人代码感兴趣.
在更新到最新的开发人员工具ADT 14之后,包含库项目的我的Android项目将不再运行产生错误:
Dx UNEXPECTED TOP-LEVEL EXCEPTION: ... already added: ...
...
Conversion to Dalvik format failed with error 1
Run Code Online (Sandbox Code Playgroud)
使用包含删除和重新添加项目的解决方案描述此问题的其他线程不起作用.
在我的机器上更新ADT和Android SDK后,我的所有项目都会出错.
现在我有这个:
PS:运行具有jar作为依赖项的项目时发生此错误(它是用proguard编译的,我们没有原始源代码再次编译它).
W/dalvikvm(3497): VFY: unable to resolve static field 994 (storeicon) in Lcom/ww/dgs/R$drawable;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x0042
W/dalvikvm(3497): VFY: unable to resolve static field 987 (libraryicon) in Lcom/ww/dgs/R$drawable;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x0060
W/dalvikvm(3497): VFY: unable to resolve static field 1069 (mainframe) in Lcom/ww/dgs/R$layout;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x00b1
I/dalvikvm(3497): DexOpt: unable to optimize static field ref 0x0467 at 0x16 in Lcom/ww/sharedlibrary/e;.a
D/AndroidRuntime(3497): Shutting down VM
W/dalvikvm(3497): threadid=1: thread exiting with …Run Code Online (Sandbox Code Playgroud) 是否可以选择在Android清单中声明操作系统/设备所需的最小VM堆大小,以便Android Market仅显示满足要求的设备的应用程序并过滤掉其余部分.
我可以在应用程序启动期间检测到最大VM堆大小,如果没有足够的可用内存,则会失败.然而,这对用户来说是不方便的.
具体来说,我正在和朋友一起做一个爱好游戏,其中图形需要至少16MB但不超过24MB的内存.在某种意义上,在任何给定的游戏状态下,只需要的图形被加载到内存中,内存使用量或多或少是最佳的.
这是Eclipse的一个有趣的错误.我在用:
版本: Indigo Release
Build id: 20110615-0604
今天无处不在,我在Eclipse上的Android应用程序中设置了一个断点.当它到达代码时,debug(dalvik JVM)中止并崩溃:
试图在无准备的类中执行代码(后跟类名)
如果我没有设置断点,它将毫无问题地运行.我搜索了谷歌但到目前为止没有发现任何内容.
另一个注意事项,我设置此断点并不重要,它可能只是onClick()函数的第一行,或其他任何地方.应用程序因断点而" 暂停 " 的那一刻,它崩溃了.
我已经开始开发一个非常简单的Android应用程序,它由三部分组成:
libfoo)libfoowrapper)文件系统看起来像这样:
jni
Android.mk
libfoo.so
foowrapper.c
Run Code Online (Sandbox Code Playgroud)
该Android.mk文件包含以下内容:
LOCAL_PATH := $(call my-dir)
#==============================
include $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuilt
LOCAL_SRC_FILES := libfoo.so
include $(PREBUILT_SHARED_LIBRARY)
#=========================
include $(CLEAR_VARS)
LOCAL_MODULE := foowrapper
LOCAL_SRC_FILES := foowrapper.c
LOCAL_SHARED_LIBRARIES := foo-prebuilt
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
当我在Eclipse中构建应用程序时,事情似乎工作正常 - 没有报告错误.但是,当我将应用程序上传到我的Samsung Discover(运行Android 4.0.4)时,我在日志中收到以下错误:
03-05 21:20:27.859: E/AndroidRuntime(20324): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1936]: 102 could not load needed library 'libfoo.so.0' for 'libfoowrapper.so' (load_library[1091]: Library 'libfoo.so.0' not found)
Run Code Online (Sandbox Code Playgroud)
为什么Dalvik正在寻找.so.0文件而不是.so文件?我需要对我的应用程序做出哪些更改才能摆脱此错误?
java-native-interface android shared-libraries dalvik android-library
这个错误让我发疯.从Google Play商店下载时,我的应用在启动时崩溃并出现以下错误:
java.lang.ClassNotFoundException
in dalvik.system.BaseDexClassLoader.findClass
Run Code Online (Sandbox Code Playgroud)
在我们的两个设备上使用eclipse构建时,我的应用程序不会崩溃.然而一个月前,一个客户使用他的手机构建我们的应用程序,然后它也在启动时崩溃.我忽略了这个问题,因为它正在我们的设备上工作,并认为它与谷歌地图键或密钥库有关.
现在,当从Play商店下载时,我们的应用程序崩溃了.我知道没有一种简单的方法可以解决这个问题,但是我们会理解正确的方向.
我也发现很难调试这个问题,因为在我们的设备上使用eclipse构建应用程序时效果很好!
这是我报告的完整错误日志:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.denederlandsewateren.winkeloord/com.denederlandsewateren.views.StartScreenActivity}: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.denederlandsewateren.views.StartScreenActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
... 11 more
Run Code Online (Sandbox Code Playgroud)
再说一遍,除了对这个问题的直接回答,但也许有人可以对这个错误日志提供的问题有所了解.
编辑
如果有帮助,这是清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxxx.xxxxx"
android:versionCode="1"
android:versionName="1.0" >
<permission
android:name="com.xxxxx.xxxxx.MAPS_RECEIVE"
android:protectionLevel="signature" />
<permission
android:name="com.xxxxx.xxxxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" /> …Run Code Online (Sandbox Code Playgroud) [2013-11-13 18:39:09 - XlApp] Dx
trouble writing output: Too many method references: 66024; max is 65536.
You may try using --multi-dex option.
References by package:
13 java.lang
1 java.lang.reflect
5 java.util
1 javax.xml.namespace
66 org.apache.xmlbeans
19 org.apache.xmlbeans.impl.values
1 org.apache.xmlbeans.impl.xb.xmlschema
2500 org.openxmlformats.schemas.drawingml.x2006.chart
1430 org.openxmlformats.schemas.drawingml.x2006.chart.impl
8767 org.openxmlformats.schemas.drawingml.x2006.main
5258 org.openxmlformats.schemas.drawingml.x2006.main.impl
86 org.openxmlformats.schemas.drawingml.x2006.picture
33 org.openxmlformats.schemas.drawingml.x2006.picture.impl
745 org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing
417 org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.impl
230 org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing
164 org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.impl
298 org.openxmlformats.schemas.officeDocument.x2006.customProperties
256 org.openxmlformats.schemas.officeDocument.x2006.customProperties.impl
617 org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes
596 org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes.impl
285 org.openxmlformats.schemas.officeDocument.x2006.extendedProperties
196 org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.impl
23 org.openxmlformats.schemas.officeDocument.x2006.math
24 org.openxmlformats.schemas.officeDocument.x2006.relationships
2 org.openxmlformats.schemas.officeDocument.x2006.relationships.impl
2076 org.openxmlformats.schemas.presentationml.x2006.main
1224 …Run Code Online (Sandbox Code Playgroud) 当我尝试在运行Gingerbread和Froyo的设备上安装我的apk文件时,它会抛出此错误:无法安装应用程序:pkg:/sdcard/temp.apk失败[INSTALL_FAILED_DEXOPT].如果有人通过Google Play安装它,则会显示一个弹出窗口,其中显示以下消息:"程序包文件无效".我联系了Google Play开发人员支持,他们建议我在Android开发论坛上搜索"dexopt failed gingerbread froyo",我确实搜索了这个问题,但找不到任何解决方案.任何帮助,将不胜感激.
编辑:此错误有帮助吗?DexInv:--- END'/mnt/asec/org.example.android-1/pkg.apk'--- status = 0x000b,在'/ data/dalvik-cache/mnt @ asec @ org上处理失败dexopt失败. example.android-1 @ pkg.apk @ classes.dex'res = 11
android ×10
dalvik ×10
java ×3
adt ×2
eclipse ×2
exception ×2
breakpoints ×1
debugging ×1
dx ×1
google-play ×1
heap-memory ×1
scala ×1