Чтобы поделиться кодом между проектами, я создал новый проект eclipse, помечая его как проект библиотеки, следуя указаниям Google [1].
Все компилируется нормально, но когда я запускаю приложение, оно молча умирает, когда не может найти службу. Logcat показывает следующее:
WARN/ActivityManager(52): Unable to start service Intent { cmp=com.iis.agatha/com.iis.common.services.FenceSyncService }: not found
В соответствии с инструкциями [1] у меня есть библиотечные сервисы, указанные в файле манифеста основного проекта, а также проект библиотеки. Я попытался выполнить рефакторинг пространства имен проекта библиотеки в com.iis.agatha, чтобы он соответствовал этому основному проекту без какой-либо удачи.
<!-- SERVICES: Main project -->
<service android:name="com.iis.common.services.GeoLocationService" />
<service android:name="com.iis.common.services.FenceSyncService" />
<!-- SERVICES: Library project -->
<service android:name="com.iis.common.services.GeoLocationService" />
<service android:name="com.iis.common.services.FenceSyncService" />
Есть идеи?
- http://developer.android.com/guide/developing/projects/projects-eclipse.html