您的位置:首页技术文章
文章详情页

android - java.lang.NoClassDefFoundError,安卓

【字号: 日期:2024-02-26 13:07:46浏览:89作者:猪猪

问题描述

昨天好的,今天就不行了,下边的代码报错

WxShareMenu popup = new WxShareMenu(AboutActivity.this);popup.showPopupWindow();

java.lang.NoClassDefFoundError: org.pointstone.cugapp.view.WxShareMenu at org.pointstone.cugapp.activities.AboutActivity$5.onClick(AboutActivity.java:188) at android.view.View.performClick(View.java) at android.view.View$PerformClick.run(View.java) at android.os.Handler.handleCallback(Handler.java) at android.os.Handler.dispatchMessage(Handler.java) at android.os.Looper.loop(Looper.java) at android.app.ActivityThread.main(ActivityThread.java) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) at dalvik.system.NativeStart.main(Native Method)

下边是相关代码,我又新建了两个新的,把代码复制过去还是不行WxShareMenu.java

package org.pointstone.cugapp.view;import android.app.Activity;import android.view.LayoutInflater;import android.view.View;import android.view.animation.Animation;import org.pointstone.cugapp.R;import razerdp.basepopup.BasePopupWindow;/** * Created by Administrator on 2017/3/2. */public class WxShareMenu extends BasePopupWindow implements View.OnClickListener { private View popupView; public WxShareMenu(Activity context) {super(context);bindEvent(); } @Override protected Animation initShowAnimation() {return getTranslateAnimation(250 * 2, 0, 300); } @Override public View getClickToDismissView() {return popupView.findViewById(R.id.click_to_dismiss); } @Override public View onCreatePopupView() {popupView = LayoutInflater.from(getContext()).inflate(R.layout.wx_share_menu, null);return popupView; } @Override public View initAnimaView() {return popupView.findViewById(R.id.popup_anima); } private void bindEvent() {if (popupView != null) { popupView.findViewById(R.id.tx_1).setOnClickListener(this); popupView.findViewById(R.id.tx_2).setOnClickListener(this); popupView.findViewById(R.id.tx_3).setOnClickListener(this);} } @Override public void onClick(View v) {switch (v.getId()) { case R.id.tx_1:break; case R.id.tx_2:break; case R.id.tx_3:break; default:break;} }}

wx_share_menu.xml

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' android:layout_height='match_parent'> <RelativeLayoutandroid: android:layout_width='match_parent'android:layout_height='match_parent'android:background='@color/share_popup_bg'><LinearLayout android: android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='vertical' android:layout_alignParentBottom='true' android:background='@android:color/white' > <TextViewandroid: android:layout_width='match_parent'android:layout_height='60dp'android:gravity='center'android:text='分享到朋友圈'/> <View /> <TextViewandroid: android:layout_width='match_parent'android:layout_height='60dp'android:gravity='center'android:text='分享给微信好友'/> <View /> <TextViewandroid: android:layout_width='match_parent'android:layout_height='60dp'android:gravity='center'android:text='取消'/></LinearLayout> </RelativeLayout></RelativeLayout>

defaultConfig {applicationId 'org.pointstone.cugapp'minSdkVersion 16targetSdkVersion 24versionCode 10versionName '1.0.1'testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'multiDexEnabled true }

求解决,我要崩溃

问题解答

回答1:

函数超过 65536 个了,http://www.jianshu.com/p/2450...

回答2:

其实我觉得,你clear下项目一般都会好,你的Popupwindow又不是一般的写在xml中需要完整包名,我没发现你的写法有问题,倒是Android Studio经常不把你写的代码打包到apk中,开发中经常遇到,一半Clear 或 Restart(Pc/Android Studio)可解决.android - java.lang.NoClassDefFoundError,安卓

回答3:

这个错误一般是由于运行环境找不到类或者定义的类创建失败所造成,一般控件中出现这个错误可能是由于该控件中某些所需的资源无法找到的原因,如attrs.xml,drawables等等,所以你需要确认你导入的引用的library的完整性,是仅仅只是依赖了一个jar还是一个aar(一个完整的andorid工程库),若只是依赖jar的话,可能需要重新修改下依赖.

标签: java
相关文章: