Выполнение этого довольно прямолинейно. В манифесте для вашего зависимого проекта вам нужно указать активность исходного проекта как тот, который вы хотите запустить.
Предположим, что у вашего исходного проекта есть имя пакета com.example.source
, ваш зависимый проект имеет имя пакета com.example.dependent
, а основной актив в вашем исходном проекте - MainActivity.java
.
Тогда в AndroidManifest.xml в вашем зависимом проекте, вы бы что-то вроде следующих:
<application
android:icon="@drawable/logo" >
<activity
android:name="com.example.source.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- possibly lots more activities and other declarations -->
</application>
Важных замечаний: В манифестах как для вашего проекта источника и зависимого проекта, вы должны сделать обязательно перечислите все действия, разрешения и т. д. Если позже вы добавите активность в исходный проект, вам также нужно будет добавить его в манифест зависимого проекта.
Кроме того, вам нужно будет скопировать что-либо в каталоге активов исходного проекта в зависимый проект — и не забудьте также синхронизировать его. (Это верно по состоянию на июнь 2012 года, я слышал, что некоторые будущие версии Android устройств для сборки, скорее всего, решить эту головную боль.)
И, наконец, если вы используете Eclipse, для создания проектов, это создаст по умолчанию макет main.xml
. Поскольку ресурсы в зависимом проекте переопределяют ресурсы в исходном проекте, убедитесь, что это не отключает вас.
Любая конкретная причина, по которой вы выбрали библиотеку? Являются ли эти два проекта взаимозависимыми? Если нет, почему бы вам не переименовать проект и не изменить файлы? Когда вы загружаете это на рынок, так или иначе, это будет новый APK? – kosa
Я пытаюсь использовать код между проектами. Создание общей общей библиотеки (проекта) было единственным способом найти общую кодовую базу между двумя проектами. – wufoo
Тогда я сожалею, что у меня нет ответа. В моем случае я поддерживал две базы исходного кода. Кстати, это позволило мне добавить дополнительные функции в одно из приложений, которое не требуется для других. Я настоятельно рекомендую для вас тоже. Кто знает, в будущем вы можете столкнуться с такой же ситуацией. – kosa