我尝试在我的Android项目中添加一个外部库,但没有运气。我的应用程序在运行时遇到异常崩溃:
09-06 07:44:41.921: E/AndroidRuntime(601): java.lang.NoClassDefFoundError: org.brickred.socialauth.android.SocialAuthAdapter
找到了许多不同的魔术解决方案,但没有任何帮助:
当我添加库时,我看到APK的大小已经改变。
有什么想法吗?
使用的软件:
答案 0 :(得分:2)
我遇到了同样的问题,现有的答案都没有解决问题。
然后我检查了SocialAuth示例(有效),并注意到jar名称与我的不同 - socialauth-android.jar 而不是 socialauth-android-1.0.jar < /强>
我使用了 socialauth-android.jar jar,运行时错误消失了。
答案 1 :(得分:1)
您只需在AndroidManifest.xml文件中定义一个新活动。
将以下代码放在清单文件的<application> ----</application>
标记内。
<uses-library android:name="org.brickred.socialauth.android.SocialAuthAdapter" />
答案 2 :(得分:0)
将jar文件粘贴到libs文件夹中转到* - &gt;属性 - &GT; java build path-&gt; libraries-&gt; 按添加jar - &gt; *选择您的应用程序libs文件夹 然后选择jar文件并按确定并清除项目。
答案 3 :(得分:0)
有时,更新ADT会导致错误。请尝试将其放在<Application>
文件
Manifiest.xml
标记内
<uses-library android:name="org.brickred.socialauth...(your lib name)" />
如果您的prj属性中选中了Ref Lib,请查看更多内容:Manage project libs
答案 4 :(得分:0)
java.lang.NoClassDefFoundError是一个运行时错误。这意味着 NOT 重要的是你将jar放在项目中的位置和方式(这里丢失的jar会导致编译时错误)。重要的是确保您所需的罐子包含在生成的罐子里。尝试打开已编译/生成的jar文件,检查它是否包含所需的jar并且它们位于正确的位置。
答案 5 :(得分:0)
您只需要在构建路径中添加sdk中提供的jar。你有没有尝试过sdk中的其他例子。如果你仍然面临这个问题,你可以邮寄到socialauth android的支持。
答案 6 :(得分:0)
一旦你的libs文件夹中有了socialauth - *。jar和socialauth-android.jar,请尝试右击它并选择Build Path&gt;添加到构建路径。就我而言,当我在项目中获得“引用的库”时,问题就消失了。