1

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

此链接指的是从 Second Dex 加载类,这工作正常

我没有调用 Second Dex 中可用的简单方法,而是尝试在 Second dex 中添加一个活动,并尝试从我的 MainActivity 访问,当我尝试使用我的 startActivity() 访问/启动活动时出现 Classnotfound 错误主要活动

我也尝试使用 PathClassLoader - 它也显示相同的错误

我们可以从 MainActivity 访问/加载 Second Dex 中存在的 Activity 吗?

将活动保存在多个 Dex 文件中的正确方法是什么?

提前致谢

4

1 回答 1

0

是的,您可以,您唯一需要的是在应用程序的清单文件中提及活动详细信息。

还要确保活动的布局文件在那里。

示例:我打算从我的应用程序中将 TestActivity 加载到库 jar 文件中。

TestActivity.class(位于 jar 文件中):

public class TestActivity extends Activity {

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

}

MainActivity.class(驻留在应用程序项目中)

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 回答