如何使用外部jar

时间:2013-03-21 17:13:12

标签: android jar

我读了很多关于这个问题,但我仍然无法做到这一点。

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

我认为可以这样做,但我不知道如何从jar文件中实例化一个类,我开始绝望了。


这是我在jared

中调用活动时的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)

这就是我用意图调用Activity的方式

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

这是清单

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

如果您需要更多信息,请告诉我 再次感谢

3 个答案:

答案 0 :(得分:1)

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

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

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

最后,我找到了将项目作为库使用到另一个项目的方法。这个tuto在西班牙语中非常容易跟随每一步中的图像 http://es.slideshare.net/ajdgeniz/como-hacer-un-archivo-jar-en-eclipse