我有主应用程序和库。图书馆有一项服务。我需要将服务的定义合并到主应用程序,但它不会发生。
所以,我有这个库的AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ru.foobar.lib.test"
android:versionCode="1" android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<service
android:name="ru.foobar.test.http.HttpService"
android:exported="false"
android:process=":ru.foobar.test.http.HttpService" />
<application />
</manifest>
我通过gradle将此库导入主应用程序:
dependencies {
....
compile project(':TestLib')
}
然后我在app的onCreate方法中启动服务:
@Override
public void onCreate() {
super.onCreate();
Intent serviceIntent = new Intent(this, HttpService.class);
startService(serviceIntent);
}
我在日志中失败了:
W/ActivityManager( 375): Unable to start service Intent { cmp=ru.foobar.mainapp/ru.foobar.test.http.HttpService } U=0: not found
如果我将服务定义添加到主应用程序的清单中,服务就会正常启动。
是否可以自动合并主应用程序和库中的清单?
答案 0 :(得分:0)
您需要在应用程序清单中定义服务,因此请复制此
<service
android:name="ru.foobar.test.http.HttpService"
android:exported="false"
android:process=":ru.foobar.test.http.HttpService" />
进入应用 AndroidManifest.xml