前提・実現したいこと
kotlinを使用してandroidアプリケーションの開発を行っていたところ画面遷移のところで落ちてしまいます。
発生している問題・エラーメッセージ
以下エラーメッセージをコピーペーストしたものですがファイル名のみ隠させていただきます。
E/AndroidRuntime: FATAL EXCEPTION: main Process: {ファイル名}, PID: 16725 java.lang.NoClassDefFoundError: Failed resolution of: {ファイル名}/Login; at {ファイル名}.MainActivity$onCreate$1.onClick(MainActivity.kt:68) at android.view.View.performClick(View.java:5646) at android.view.View$PerformClick.run(View.java:22473) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832) Caused by: java.lang.ClassNotFoundException: Didn't find class "{ファイル名}" on path: DexPathList[[zip file "/data/app/{ファイル名}-1/base.apk"],nativeLibraryDirectories=[/data/app/{ファイル名}-1/lib/arm64, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]] 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 {ファイル名}.MainActivity$onCreate$1.onClick(MainActivity.kt:68) at android.view.View.performClick(View.java:5646) at android.view.View$PerformClick.run(View.java:22473) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
該当のソースコード
以下コードを最低限まで削り画面遷移のみにしたものです
上が遷移元、下が遷移先です
MainActivity.kt
1import android.support.v7.app.AppCompatActivity 2import android.os.Bundle 3import java.io.InputStream 4import java.net.HttpURLConnection 5import java.net.URL 6 7import android.app.Activity 8import android.content.Intent 9import android.os.StrictMode 10import android.view.View 11import android.widget.Button 12import android.widget.TextView 13import android.widget.EditText 14 15class MainActivity : AppCompatActivity() { 16 17 override fun onCreate(savedInstanceState: Bundle?) { 18 super.onCreate(savedInstanceState) 19 setContentView(R.layout.activity_main) 20 21 val button = findViewById(R.id.btn) as Button 22 button.setOnClickListener { 23 StrictMode.setThreadPolicy(StrictMode.ThreadPolicy.Builder().permitAll().build()) 24 startActivity(Intent(this, Login::class.java)) 25 } 26 } 27 28}
Login.kt
1import android.support.v7.app.AppCompatActivity 2import android.os.Bundle 3import android.webkit.WebView; 4import android.webkit.WebViewClient; 5 6import android.widget.Button 7 8class Login : AppCompatActivity() { 9 10 val button = findViewById(R.id.next) as Button 11 12 13 override fun onCreate(savedInstanceState: Bundle?) { 14 super.onCreate(savedInstanceState) 15 setContentView(R.layout.activity_login) 16 17 } 18 19 20} 21
また以下がmanifestの一部です
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Login" android:label="@string/app_name"></activity> </application>
###試したこと
ステップイン実行を行った結果画面遷移の場所でエラーが起きており、またエラーメッセージで指定された行数も(ここに載せたものはコメントアウトを削除したため違いますが)画面遷移の箇所でした
以上です、ぜひご教授いただけますと幸いです
回答1件
あなたの回答
tips
プレビュー