Kotlin RC NoClassDefFoundError
更新kotlin RC-1036后,我面临一个奇怪的问题:我的代码甚至没有编译和打包。
当构建通过和应用程序启动时,我得到了ClassNotFoundException: Didn't find class "example.myapplication.MainActivity"
。
我试图用apktool
反编译apk文件,没有找到我的类内的档案。 build/intermediates
dir中也没有类。
这是我的项目:
app/build.gradle
:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android-extensions' buildscript { ext.kotlin_version = '1.0.0-rc-1036' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { mavenCentral() } android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "example.myapplication" minSdkVersion 21 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false } } sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" }
表现:
<?xml version="1.0" encoding="utf-8"?> <manifest package="example.myapplication" xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" 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> </application>
和主要活动:
package example.myapplication import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) hello.text = "New text" } }
构建工具版本是2.0.0-beta2
; 可能是sourseSets
错了,虽然没有用,如果我尝试重新配置它莫名其妙。 感谢任何帮助。
你应该有这两个插件:
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'
第一个确保Kotlin代码编译,第二个用于UI导入。
- Kotlin:NoClassDefFoundError – Android Studio显示不应该在那里的类
- 为什么Android开发人员的Kotlin(书)需要再次添加扩展parseList?
- 从25更新到支持27和SDK 27,现在在Android 4.4上崩溃
- 在Kotlin Realm Extention中如何解决“功能不属于这个领域的模式的一部分”
- 使用Parcelable时,Kotlin编译错误
- 没有活跃的管理员拥有… – 在Android中锁定屏幕
- Kotlin Android视图绑定:findViewById vs Butterknife vs Kotlin Android扩展
- 创建一个微调器,当选择一个项目时调整它的宽度
- API 23(Marshmallow)的Android SDK是否支持Java 8?