1

http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html

このリンクは、Second Dex からのクラスのロードを参照しています。これは正常に機能しています。

Second Dex で利用可能な単純なメソッドを呼び出す代わりに、Second dex にアクティビティを追加しようとしました。また、MainActivity からアクセスしようとしました。My から startActivity() を使用してアクティビティにアクセス/開始しようとすると、Classnotfound エラーが発生します。主な活動

PathClassLoader も使用してみました-同じエラーも表示されます

MainActivity から Second Dex に存在する Activity にアクセス/ロードできますか?

アクティビティを複数の Dex ファイルに保持する適切な方法は何ですか?

前もって感謝します

4

1 に答える 1

0

はい、できます。必要なのは、アプリケーションのマニフェストファイルにアクティビティの詳細を記載することだけです。

また、アクティビティのレイアウト ファイルがあることを確認してください。

例 : My Application からライブラリ jar ファイルに TestActivity をロードする予定です。

TestActivity.class (jar ファイルに存在):

public class TestActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getIntent().getIntExtra("LAYOUT", -1));
}

}

MainActivity.class (Application プロジェクトに常駐)

public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    Intent intTest = new Intent(this, TestActivity.class);
    intTest.putExtra("LAYOUT", R.layout.activity_test);
    startActivity(intTest);
}

}

layouts : activity.xml と activity_test.xml は両方とも、アプリケーションのレイアウト フォルダーに存在する必要があります。

Manifestfile で TestActivity について言及する必要があります。

<activity android:name="yourPackage.TestActivity"></activity>
于 2012-08-30T09:08:08.730 に答える