1

Androidでjarファイルからアクティビティを呼び出す方法を教えてください:

私の手順:

  • MainActivity.java を使用した AndroidLibrary プロジェクトがありました

  • SplashActivity.java を使用した AndroidApp プロジェクトがありました。

  • AndroidLibrary.jar を AndroidApp プロジェクトの libs フォルダーにインポートし、ビルド パスを追加しました。
  • AndroidApp プロジェクトの AndroidManifest.xml ファイルにパス MainActivity.java を追加しました
  • クラス SplashActivity.java では、このようなコードを使用して AndroidLibrary.jar から MainActivity.java を呼び出しました

    Intent intent = new Intent(SplashActivity.this, MainActivity.class);
    startActivity(intent);
    

ただし、jar ファイルからアクティビティを呼び出すと、すぐに ClassNotFound 例外で失敗します。

4

4 に答える 4

3

外部の .jar からアクティビティのみを呼び出すには、次のことを行う必要があります。

  1. インテントを作成する
  2. 2 つの文字列パラメータでa を呼び出しsetClassNameます: クラスを含むパッケージと、呼び出す必要があるクラスのパス全体
  3. 活動を開始します。

例えば:

final Intent it = new Intent();
it.setClassName("com.example.test", "com.example.test.NameOfYourActivity");
startActivity(it);

Java バイトコードを Dalvik バイトコードに変換する方法を知りたい場合は、私のブログにアクセスしてください。

ありがとう。

于 2013-08-15T12:46:56.963 に答える
0

手順に従って、

  • インテントを作成します。
  • クラスを含むパッケージと、呼び出す必要があるクラスのパス全体の 2 つの文字列パラメーターを使用して、setClassName を呼び出します。

  • 活動を開始します。

それでおしまい。

于 2015-09-30T05:29:45.317 に答える
0

別の新しいプロジェクトでの Android Calling Library アクティビティ

Intent callIntent = new Intent(MainActivity.this, com.example.testinglib.Testing.class);
startActivityForResult(callIntent, 0);

注: startActivity(intent);動作していません。

于 2015-09-30T05:04:14.437 に答える