我无法弄清楚如何在Android Studio上正确运行服务。我已经尝试禁用Instant Run,使用完整的软件包名称来命名服务,但是我在运行调试模式时不断收到此警告:
W/System: ClassLoader referenced unknown path: /data/app/com.example.albertowd.myapplication-1/lib/arm
或者如果我使用模拟器
W/System: ClassLoader referenced unknown path: /data/app/com.example.albertowd.myapplication-1/lib/x86_64
尽管程序启动没有错误,但我找不到我对服务器的意图:
W/ActivityManager: Unable to start service Intent { cmp=com.example.albertowd.myapplication/.MyService } U=0: not found
清单是对的,我已经使用服务向导创建了服务:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.albertowd.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".MyService"
android:enabled="false"
android:exported="false"></service>
</application>
</manifest>
意图是在MainActivity类上创建的:
Intent intent = new Intent(MainActivity.this,MyService.class);
MainActivity.super.startService(intent);
我不知道还能做些什么。我在Windows 10 x64,Ubuntu 16.04 x64和Kubuntu 10.10 x64上运行带有Oracle JDK 1.8的Android Studio 2.2.1,所有平台都有同样的问题,我将它们格式化以确保它不是旧版本的任何东西方式......