【发布时间】:2015-03-18 00:52:33
【问题描述】:
这太令人沮丧了...非常感谢任何帮助。
请不要以为我没有提到以前关于这个问题的帖子。我做了并尝试了这些帖子中提出的所有建议来解决这个问题几次,但无济于事,尽管其他人已经发布了它对他们有用。
这就是问题所在。
我添加了两个jar文件,它们是json-rpc2协议的实现。它们是从以下位置下载的。
http://software.dzhuvinov.com//download.html#download-jsonrpc2client
库文件是:
jsonrpc2-base-1.35.jar jsonrpc2-client-1.14.4.jar
我将它们添加到 libs 文件夹中,然后通过在工作室中右键单击它们来添加这些库。我在项目的 build.gradle 中添加了依赖项。我清理并构建了这个项目。请注意,库引用一直被编译器识别并且构建成功。现在问题来了......在编码和编译期间正确识别的相同库在运行时将不起作用。我收到以下 No Class Found 错误。请保留我头上剩余的头发。谢谢。
--------- beginning of crash
com.example.admin.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.admin.myapplication, PID: 1877
java.lang.NoClassDefFoundError: com.thetransactioncompany.jsonrpc2.JSONRPC2Request
at com.example.admin.myapplication.MainActivity.accessWebService(MainActivity.java:154)
at com.example.admin.myapplication.MainActivity$1.onClick(MainActivity.java:55)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
下面是build.gradle文件的内容。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.admin.myapplication"
minSdkVersion 5
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile files('libs/jsonrpc2-base-1.35.jar')
compile files('libs/jsonrpc2-client-1.14.4.jar')
}
【问题讨论】:
-
需要
build.gradle文件内容。 -
这里是 build.gradle 的内容:
-
您是否验证了类 com.thetransactioncompany.jsonrpc2.JSONRPC2Request 在相关库中?这是你直接使用的类吗?
-
@mattm 当然,是的...我验证了 jar 文件的内容,并且所有必需的类都在其中。事实上,这就是编译没有错误的原因......你不觉得吗?
-
我认为如果您在 jar 中使用 Class A,并且 Class A 需要另一个 jar 的 Class B,则可以进行无错误编译。但是,如果您使用的所有类都被验证在 jar 中,那不是问题。
标签: android json jar android-studio