java.lang.RuntimeException:无法实例化活动组件信息-NFC访问
我已经看到了许多与此类似的问题,但它们似乎特定于它们所使用的类和包。我尝试了一些解决方案,但没有帮助我。我得到以下错误:java.lang.RuntimeException:无法实例化活动组件信息-NFC访问,java,android,security,nfc,Java,Android,Security,Nfc,我已经看到了许多与此类似的问题,但它们似乎特定于它们所使用的类和包。我尝试了一些解决方案,但没有帮助我。我得到以下错误: 03-27 14:30:08.604: D/AndroidRuntime(8057): Shutting down VM 03-27 14:30:08.604: W/dalvikvm(8057): threadid=1: thread exiting with uncaught exception (group=0x41c02c80) 03-27 14:30:08.604:
03-27 14:30:08.604: D/AndroidRuntime(8057): Shutting down VM
03-27 14:30:08.604: W/dalvikvm(8057): threadid=1: thread exiting with uncaught exception (group=0x41c02c80)
03-27 14:30:08.604: E/AndroidRuntime(8057): FATAL EXCEPTION: main
03-27 14:30:08.604: E/AndroidRuntime(8057): Process: org.nick.nfc.seaccess, PID: 8057
03-27 14:30:08.604: E/AndroidRuntime(8057): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.nick.nfc.seaccess/org.nick.nfc.seaccess.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "org.nick.nfc.seaccess.MainActivity" on path: DexPathList[[zip file "/system/framework/com.android.nfc_extras.jar", zip file
你知道我该怎么解决吗
以下是主要活动的开始:
public class MainActivity extends Activity implements OnClickListener {
private static final String TAG = MainActivity.class.getSimpleName();
private Button gpInfoButton;
private Button emvInfoButton;
private Button walletInfoButton;
private TextView infoText;
private Terminal terminal;
private CardConnection seConn;
@Override
public void onCreate(Bundle savedInstanceState) {
...
这是我清单中的活动标签。我似乎有时会有人将完整的包名添加到清单中。我来看看会发生什么
<activity
android:name=".MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|s mallestScreenSize"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
从跟踪中:java.lang.ClassNotFoundException:未找到类“org.nick.nfc.seaccess.MainActivity” 这意味着类org.nick.nfc.seaccess.MainActivity未定义或无法加载
你有课程org.nick.nfc.seaccess.main活动吗?代码是什么?它有默认构造函数吗?它是否在清单中声明?我没有看到主活动的默认构造函数。我正在将文件的开头添加到此线程的开头。你的意思是?LAUNCHER类别定义是否可以启动应用程序。清单中的包是什么,MainActivity.java中的包是什么?例如,它们是相同的吗?它们似乎都是org.nick.nfc.seaccess。这里有一个很长的清单需要验证:是不是您意外地将
MainActivity
类放在了org.nick.nfc.seaccess
之外的包中;我将发布一张工作区项目的图片。这个项目引用了一个jar文件和另一个项目的JAVA代码。你无法在图片中看到它,因为它一直在项目列表中。我会因为这个项目找不到这个项目的主要活动而得到这个错误吗?如果这个JAR文件只是com.android.nfc_extras.JAR
,那应该不会有问题。其他项目中使用了哪些包名称?其他项目来自SVN。这些名称是:src/main/java、src/main/resources和src/test/java
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Applications granted NFCEE access on user builds
See packages/apps/Nfc/etc/sample_nfcee_access.xml for full documentation.
-->
<!-- Google wallet release signature -->
<signer android:signature="308205bd852e" />
<!-- Sequent Wallet signature -->
<signer android:signature="30820243badc1df9d"/>
<!-- android-se-access signature-->
<signer
android:signature="3082044cbd852e">
<package android:name="org.nic.nfc.seaccess"/>
</signer>
</resources>
03-27 22:55:10.884: E/AndroidRuntime(9436): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.nick.nfc.seaccess.MainActivity" on path: DexPathList[[zip file "/system/framework /com.android.nfc_extras.jar", zip file "/data/app/org.nick.nfc.seaccess- 1.apk"],nativeLibraryDirectories=[/data/app-lib/org.nick.nfc.seaccess-1, /vendor/lib, /system/lib]]
03-27 22:58:02.104: E/AndroidRuntime(9880): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.nick.nfc.seaccess.MainActivity" on path: DexPathList[[zip file "/system/framework /com.android.nfc_extras.jar", zip file "/data/app/org.nick.nfc.seaccess- 2.apk"],nativeLibraryDirectories=[/data/app-lib/org.nick.nfc.seaccess-2, /vendor/lib, /system/lib]]