android:如何启动库项目中定义的活动

San*_*nt 3 android android-library android-activity

我正在开发一个使用androidVNC Viewer作为库项目的android应用程序,但我无法从androidVNC启动活动(活动未找到异常).

另外,如何捆绑一个库项目并将其用作一个apk?

UPDATE

我正在使用以下意图打电话:

Intent call= new Intent("android.androidVNC.androidVNC.LAUNCH");
startActivity(call);
Run Code Online (Sandbox Code Playgroud)

在使用以下代码后更新2我想我可以启动活动但是得到这个(java.lang.NoSuchFieldError:android.androidVNC.R $ id.textIP)错误...

Intent vnc_call = new Intent(getApplicationContext(), androidVNC.class);
            vnc_call.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(login);
Run Code Online (Sandbox Code Playgroud)

我检查了R.java,androidVNC原始和androidVNC用作库(在生成的java文件下)...我得到的是textip是在orignal R.java但是它不存在于R.java中(生成)调用项目中的java文件).

logcat的O/P(前几行)


04-05 01:34:18.135: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.135: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.135: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)
04-05 01:34:18.135: W/dalvikvm(479): Link of class 'Landroid/androidVNC/ConnectionBean;' failed
04-05 01:34:18.145: W/dalvikvm(479): VFY: unable to find class referenced in signature (Landroid/androidVNC/ConnectionBean;)
04-05 01:34:18.155: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.155: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.155: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)
04-05 01:34:18.155: W/dalvikvm(479): Link of class 'Landroid/androidVNC/ConnectionBean;' failed
04-05 01:34:18.187: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.187: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.187: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)`

04-05 01:34:18.135: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.135: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.135: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)
04-05 01:34:18.135: W/dalvikvm(479): Link of class 'Landroid/androidVNC/ConnectionBean;' failed
04-05 01:34:18.145: W/dalvikvm(479): VFY: unable to find class referenced in signature (Landroid/androidVNC/ConnectionBean;)
04-05 01:34:18.155: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.155: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.155: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)
04-05 01:34:18.155: W/dalvikvm(479): Link of class 'Landroid/androidVNC/ConnectionBean;' failed
04-05 01:34:18.187: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/AbstractConnectionBean; (256)
04-05 01:34:18.187: W/dalvikvm(479): Link of class 'Landroid/androidVNC/AbstractConnectionBean;' failed
04-05 01:34:18.187: W/dalvikvm(479): Unable to resolve superclass of Landroid/androidVNC/ConnectionBean; (8)

任何线索?

mah*_*mah 7

即使库项目有自己的AndroidManifest.xml,其内容也不会添加到您的构建中.如果您计划使用库中包含的通常在清单中声明的​​任何内容,则必须将其复制到实际的应用程序清单中.这包括活动,广播接收器,服务,权限等.

  • 根据您更新的代码,您不是通过其类名启动活动,而是根据其操作启动它。您在清单中的活动条目是否包含一个 `<intent-filter>` 部分,以及一个诸如 `<action android:name="android.androidVNC.androidVNC.LAUNCH" />` 的操作?如果没有,这就是您无法找到该活动的原因。您可以更改清单以在意图过滤器中声明操作(您可能还需要将 `<category android:name="android.intent.category.DEFAULT" />` 添加到过滤器中,我不确定) 或更改您定义意图的方式。 (2认同)