http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html
这个链接指的是从Second Dex加载类,这在上运行良好
不是调用Second-Dex中可用的简单方法,我尝试在Second dex中添加一个活动,并尝试从我的MainActivity访问,当我尝试从我的MainActivity 中使用startActivity()访问/启动活动时,我收到Classnotfound错误
我还尝试使用PathClassLoader,它也显示了相同的错误
我们可以从MainActivity访问/加载Second-Dex中存在的活动吗?
将活动保存在多个Dex文件中的正确方法是什么?
提前感谢
可以,您只需要在应用程序的清单文件中提及"活动"详细信息。
还要确保活动的布局文件在那里。
示例:我计划从我的应用程序将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和activitytest.xml都应该位于应用程序的layout文件夹中。
需要在Manifestfile中提到TestActivity。
<activity android:name="yourPackage.TestActivity"></activity>