大家好我的应用程序一切正常,直到昨天,我昨天更新了我的SDK,它开始给出错误,它首先给出了错误
在值v24 ....
处找不到资源
这样的事情,我搜索并通过更改build.gradle中的以下行来解决它
compileSdkVersion 25
buildToolsVersion '25.0.2'
现在错误消失了在更高的Android版 7.1.1 中完全正常运行 但是当我在Android的较低版本中运行时,它会发出以下错误
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wowio.ebookreader, PID: 15469
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.wowio.ebookreader/com.eminosoft.ebookread.activity.SplashScreenActivity}: java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5433)
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:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /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.newActivity(Instrumentation.java:1068)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5433)
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:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
我已经已经尝试了以下事情
1.清洁项目
2.invalidate cache / restart
3.删除设备上的应用
已经查看了这些问题Question 1,Question 2没有任何效果。我该如何解决这个问题?
如果你需要任何东西,我会更新它的问题
我的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "com.wowio.ebookreader"
minSdkVersion 14
targetSdkVersion 23
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:multidex:1.0.1'
// the are many more dependencies i removed to decrease size
}
答案 0 :(得分:4)
写一个类EnableMultiDex
,如下所示
public class EnableMultiDex extends MultiDexApplication {
private static EnableMultiDex enableMultiDex;
public static Context context;
public EnableMultiDex(){
enableMultiDex=this;
}
public static EnableMultiDex getEnableMultiDexApp() {
return enableMultiDex;
}
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
}
并在AndroidManifest.xml
中将此类写入Application标记
<application
android:name="YourPakageName.EnableMultiDex"
android:hardwareAccelerated="true"
android:icon="@drawable/launch_logo"
android:label="@string/app_name"
android:largeHeap="true"
tools:node="replace">
答案 1 :(得分:4)
是的,可能是上面的答案是正确的我没有尝试,因为它是。但我以相反的方式解决了#34;你在android studio&#34;的设置中删除了即时运行选项。
转到 - &gt;文件菜单 - &gt;选择设置 - &gt;选择构建,执行,部署 - &gt;选择即时运行 - &gt;取消选中&#34;启用即时运行&#34;。
这对我有用。但谷歌地图集成应用程序等一些应用程序需要立即运行。
答案 2 :(得分:2)
在我的情况下,我的项目在以下情况后再次开始工作:
答案 3 :(得分:0)
同样的错误发生在我身上,因为我安装了在outputs \ apk文件夹中创建的调试apk,它变得更小并且缺少类,因为它可能是即时运行的结果。 因此,不要仅仅通过构建APK(通过Build-&gt;在菜单中构建apk)来关闭即时运行并使用此功能。
答案 4 :(得分:0)
禁用即时运行为我工作 我认为出现此问题是因为使用安装运行(减小apk大小)构建时缺少某些类