2

この問題についてよく読みましたが、まだうまくいきません。

私には2つのプロジェクトがあります.1つはいくつかのことを行い、それを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)

これは、意図を持ってアクティビティを呼び出す方法です

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

これがマニフェストです

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

さらに情報が必要な場合は、教えてください ありがとうございました

4

3 に答える 3

1

http://androiddevelopement.blogspot.in/2011/01/creating-jar-file-in-eclipse.html . Eclipse からの jar の作成

リソース、マニフェスト エントリをパッケージ化できません。純粋な Java コード (おそらく Android API を使用) は、jar にパッケージ化できます。

それを使用するには、プロジェクトの下の libs フォルダーに jar をコピーするだけです。

プロジェクトを右クリックします。プロパティに移動します。Java ビルド パス。[Jar を追加] をクリックします。libs フォルダーから jar を追加します。

その後、import ステートメントを使用して、新しいプロジェクト クラスでインスタンス化できます。

于 2013-03-21T17:29:48.593 に答える
0

最後に、プロジェクトを別のプロジェクトでライブラリとして使用する方法を見つけました。このチュートリアルはスペイン語です byt は、各ステップの画像に従うのは非常に簡単です http://es.slideshare.net/ajdgeniz/como-hacer-un-archivo-jar-en-eclipse

于 2013-04-30T14:26:36.693 に答える
0

あなたの質問を正しく理解しているかどうかは完全にはわかりません。同じクラスを使用する 2 つの Android アプリケーションがありますか? そうですか?その場合、共通クラスをライブラリ プロジェクトに抽出する必要があります。ある Android アプリケーション プロジェクトを別のプロジェクトから参照することはできないと思います。

于 2013-03-21T17:27:50.443 に答える