2013-03-21 48 views
2

我读了很多关于这个问题,但我仍然无法做到这一点。如何使用外部罐子

我有两个项目:一个做一些东西,我想要做的是将其设置为jar文件并在主项目中使用它,调用它并获取信息我不知道如何实例化一个类该程序包以该进程开始。二级项目单独运作良好,我想将这些信息用于主项目。如果我将辅助设置为库并将其添加到主工作正常,但我不想这样做。

我认为这是可能的,但我不知道如何从jar文件实例化一个类,我开始绝望。


这是logcat的时候我所说的活性在贾里德

file 03-22 11:04:57.900: E/AndroidRuntime(11895): FATAL EXCEPTION: main 
03-22 11:04:57.900: E/AndroidRuntime(11895): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.suscribir/com.example.suscribir.Suscribir}; have you declared this activity in your AndroidManifest.xml? 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.app.Activity.startActivityForResult(Activity.java:2827) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.app.Activity.startActivity(Activity.java:2933) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at com.example.principal.Principal$1.onClick(Principal.java:37) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.view.View.performClick(View.java:2485) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.view.View$PerformClick.run(View.java:9080) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.os.Handler.handleCallback(Handler.java:587) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.os.Handler.dispatchMessage(Handler.java:92) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.os.Looper.loop(Looper.java:130) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at android.app.ActivityThread.main(ActivityThread.java:3687) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at java.lang.reflect.Method.invokeNative(Native Method) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at java.lang.reflect.Method.invoke(Method.java:507) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
03-22 11:04:57.900: E/AndroidRuntime(11895): at dalvik.system.NativeStart.main(Native Method) 

这就是我所说的活性,其意图

intent.setAction(Intent.ACTION_MAIN); 
       intent.setClassName("com.example.suscribir", "com.example.suscribir.Suscribir"); 
       startActivity(intent); 

这是清单

<activity 
    android:name="com.example.suscribir.Suscribir"> 
</activity> 

如果您需要更多的inf o,只是告诉我 再次感谢

回答

0

我不完全确定,如果我理解你的问题的权利。你有两个使用相同类的Android应用程序?是对的吗?在这种情况下,您需要将公共类提取到库项目中。我不认为你可以引用另一个Android应用程序项目。

+0

你明白了,从其他项目中,我知道如何将项目导出为jar文件以及如何导入jar文件,但我不知道如何使用该类 – Ivan 2013-03-21 20:15:20

1

http://androiddevelopement.blogspot.in/2011/01/creating-jar-file-in-eclipse.html。 从eclipse创建jar

无法打包资源清单条目。纯Java代码(可能使用Android API)可以打包成jar。

要使用它,只需将jar复制到项目下的libs文件夹即可。

右键单击项目。转到属性。 Java构建路径。点击添加罐子。从libs文件夹中添加jar。

之后,您可以使用导入语句并在您的新项目类中实例化它。

+0

@Ivan尝试上述操作。 – Raghunandan 2013-03-21 17:41:42

+0

谢谢Raghunandan,我之前跟着那个tuto。我不能在库中使用res文件夹?我如何使用Buttons,EditText,TextView ...? – Ivan 2013-03-21 20:43:35

+0

您必须在第二个项目中再次定义UI元素。 – Raghunandan 2013-03-22 06:31:37