android - 使用 jenkins 构建时找不到 Kotlin 类

标签 android android-intent jenkins kotlin

在我的机器上本地成功构建了我的应用程序,并且在单击以打开 Kotlin Activity 时运行良好,例如:

galleryLayout.setOnClickListener(view -> startActivity(new Intent(PreferencesActivity.this, GalleryActivity.class)));

但是在 Jenkins CI 上成功构建后,点击操作会导致应用崩溃:

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/noodoe/sunray/settings/preferences/gallery/GalleryActivity;
   at com.noodoe.sunray.settings.preferences.PreferencesActivity.lambda$setupListener$9(PreferencesActivity.java:248)
   at com.noodoe.sunray.settings.preferences.PreferencesActivity.access$lambda$9(PreferencesActivity.java)
   at com.noodoe.sunray.settings.preferences.PreferencesActivity$$Lambda$10.onClick(Unknown Source)
   at android.view.View.performClick(View.java:5226)
   at android.view.View$PerformClick.run(View.java:21266)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:168)
   at android.app.ActivityThread.main(ActivityThread.java:5845)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
Caused by java.lang.ClassNotFoundException: Didn't find class "com.noodoe.sunray.settings.preferences.gallery.GalleryActivity" on path: DexPathList[[zip file "/data/app/com.noodoe.sunray.alpha-1/base.apk"],nativeLibraryDirectories=[/data/app/com.noodoe.sunray.alpha-1/lib/arm, /data/app/com.noodoe.sunray.alpha-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
   at com.noodoe.sunray.settings.preferences.PreferencesActivity.lambda$setupListener$9(PreferencesActivity.java:248)
   at com.noodoe.sunray.settings.preferences.PreferencesActivity.access$lambda$9(PreferencesActivity.java)
   at com.noodoe.sunray.settings.preferences.PreferencesActivity$$Lambda$10.onClick(Unknown Source)
   at android.view.View.performClick(View.java:5226)
   at android.view.View$PerformClick.run(View.java:21266)
   at android.os.Handler.handleCallback(Handler.java:739)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:168)
   at android.app.ActivityThread.main(ActivityThread.java:5845)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)

这是我的 build.gradle ,如果您有任何想法,请提供帮助。谢谢!

最佳答案

运行 gradle clean 并重试构建。不确定您的 Jenkins 脚本以及 CI 工作流程的运行方式,但始终建议在构建之前进行清理。

为什么不在此处发布您的 Jenkinsfile/Jenkins CI 脚本 =)

关于android - 使用 jenkins 构建时找不到 Kotlin 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41461609/

相关文章:

java - 如何将移动应用程序连接到数据库

android - 将 GPS 位置从 Android 应用程序发送到外部导航 map 并通过语音导航到那里

android - onActivityResult() 未被调用,但在其他地方有效

java - 是否有检测网络使用情况的 Intent,无论是 3G 还是 Wifi?

jenkins - Jenkins 插件中的 DSL 扩展如何工作

java - Nosql模型结构

android - 如何将现有联系人添加到 "Phone contacts"帐户

android - 如何在 Android 中找到 Intent 源?

docker - Jenkins 与Docker的奴隶

jenkins - 如何从jenkins管道中的NodeParameterDefinition访问所有节点?