-1

I took an old project on the Internet, I decided to remake it for new versions of android.

I corrected it a little bit in the new version of android studio 3.0.

It seems that everything is fine. Like the project is going to be compiled without errors.

But when I run the application on a virtual device, the application crumbles.

Here is the error log:

01-09 02:43:25.140 1609-1609/com.locktest.lockscreen E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process: com.locktest.lockscreen, PID: 1609
                                                                       java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.locktest.lockscreen/com.locktest.lockscreen.LockScreenActivity}: java.lang.ClassNotFoundException: Didn't find class "com.locktest.lockscreen.LockScreenActivity" on path: DexPathList[[zip file "/data/app/com.locktest.lockscreen-1/base.apk"],nativeLibraryDirectories=[/data/app/com.locktest.lockscreen-1/lib/x86, /system/lib, /vendor/lib]]
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2548)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                                           at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                           at android.os.Looper.loop(Looper.java:154)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6077)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
                                                                        Caused by: java.lang.ClassNotFoundException: Didn't find class "com.locktest.lockscreen.LockScreenActivity" on path: DexPathList[[zip file "/data/app/com.locktest.lockscreen-1/base.apk"],nativeLibraryDirectories=[/data/app/com.locktest.lockscreen-1/lib/x86, /system/lib, /vendor/lib]]
                                                                           at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                                           at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                                                                           at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                           at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)*
                                                                           at android.app.ActivityThread.-wrap12(ActivityThread.java)*
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)*
                                                                           at android.os.Handler.dispatchMessage(Handler.java:102)*
                                                                           at android.os.Looper.loop(Looper.java:154)*
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6077)*
                                                                           at java.lang.reflect.Method.invoke(Native Method)*
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)*
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)*

As I understand it, the problem is:

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.locktest.lockscreen.LockScreenActivity" on path: DexPathList[[zip file "/data/app/com.locktest.lockscreen-1/base.apk"],nativeLibraryDirectories=[/data/app/com.locktest.lockscreen-1/lib/x86, /system/lib, /vendor/lib]]

But how to decide - I do not know how to fix it.

Here is the manifesto:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.android.locktest.lockscreen"
    tools:ignore="ExtraText">

    <uses-permission-sdk-23 android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission-sdk-23 android:name="android.permission.WAKE_LOCK" />
    <uses-permission-sdk-23 android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission-sdk-23 android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission-sdk-23 android:name="android.permission.SYSTEM_ALERT_WINDOW" />

     <application
         android:name="android.support.multidex.MultiDexApplication">
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name"


     <activity android:name="com.screen.locktest.lockscreen"
               android:excludeFromRecents="true"
               android:label="@string/app_name"
               android:launchMode="singleTask"
               android:screenOrientation="portrait"
               android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
     <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
    <service android:name=".utils.LockscreenService" />

         <receiver android:name=".utils.LockscreenIntentReceiver" android:enabled="true">
     <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
Joey Harwood
  • 961
  • 1
  • 17
  • 27

1 Answers1

0

The crashlog says

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.locktest.lockscreen.LockScreenActivity" on path: DexPathList[[zip file "/data/app/com.locktest.lockscreen-1/base.apk"],nativeLibraryDirectories=[/data/app/com.locktest.lockscreen-1/lib/x86, /system/lib, /vendor/lib]]

while there is no LockScreenActivity in your manifest.

If this is how you are defining the activity:

<activity android:name="com.screen.locktest.lockscreen"
               android:excludeFromRecents="true"
               android:label="@string/app_name"
               android:launchMode="singleTask"
               android:screenOrientation="portrait"
               android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

You need to add the class name as well android:name="com.screen.locktest.lockscreen.LockScreenActivity"

Kartik Arora
  • 571
  • 4
  • 10
  • Thank you I did since you said: android: name = "com.screen.locktest.lockscreen.LockScreenActivity" But still produces the same error. – Mike Nemsky Jan 12 '18 at 07:03