http://android-developers.blogspot.in/2011/07/custom-class-loading-in-dalvik.html
此链接指的是从Second Dex加载类,这是正常的
而不是在Second Dex中调用一个简单的方法, 我试图在Second dex中添加一个活动,并尝试从我的MainActivity访问, 当我尝试使用My MainActivity中的startActivity()访问/启动活动时,我收到了Classnotfound错误
我也尝试过使用PathClassLoader - 它也显示相同的错误
我们可以从MainActivity访问/加载Second Dex中存在的Activity吗?
将活动保存在多个Dex文件中的正确方法是什么?
先谢谢
答案 0 :(得分: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(驻留在应用程序项目中)
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:actitivity.xml和activity_test.xml都应该驻留在应用程序的布局文件夹中。
需要在Manifestfile中提及TestActivity。
<activity android:name="yourPackage.TestActivity"></activity>