當然可以,你需要的僅僅是提到在應用程序的清單文件中的活動細節。
還要確保活動的佈局文件在那裏。
示例:我打算從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);
}
}
佈局:actitivity.xml和activity_test.xml都應該駐留在應用的佈局文件夾。
需要在Manifestfile中提及TestActivity。
<activity android:name="yourPackage.TestActivity"></activity>
您是否成功啓動它?我無法成功找到該類:'05-20 17:11:10.028:E/AndroidRuntime(32561):java.lang.RuntimeException:無法實例化活動ComponentInfo {com.example.dex/com.example.dex。 lib.LibActivity}:java.lang.ClassNotFoundException:未在路徑中找到類「com.example.dex.lib.LibActivity」:DexPathList [[zip file] /data/app/com.example.dex-1.apk 「],nativeLibraryDirectories = [/ data/app-lib/com.example.dex-1,/ vendor/lib,/ system/lib]' – Zennichimaro