在将AppCompatActivity迁移到WearableActivity时,我收到了一个崩溃的消息。
由:java.lang.IllegalStateException: Could not find wearable共享库类。请添加use -libraryandroid: name = " com.google.android。可穿戴式" android:required="false"/>到应用程序清单
我遵循这个链接在我的应用程序中启用环境模式:让你的应用可见
在我的manifest和gradle中分别有以下内容:
<uses-library android:name="com.google.android.wearable"
android:required="false" />
…
minSdkVersion 22
targetSdkVersion 22
compile 'com.google.android.support:wearable:1.2.0'
provided 'com.google.android.wearable:wearable:1.0.0'
compile 'com.google.android.gms:play-services-wearable:7.5.0'
我直接从链接中获取了这些(希望我没弄错)。
我的设备正在运行以下版本:
Android Wear - 1.1.1.1929530
Google Play Services - 7.5.76 (2002306-534)
Android OS - 5.1.1
我猜提供android.support.wearable.activity.WearableActivity的库应该捆绑在设备上,但没有。
没有看到你的AndroidManifest我能做的唯一的建议是:
uses-library应该是应用程序级别,而不是清单级别。你的AndroidManifest应该是这样的:
<manifest
package="com.yourpackage.app_package"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.type.watch"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault">
<uses-library android:name="com.google.android.wearable" android:required="false" />
<activity
....
</activity>
</application>
</manifest>
考虑:http://developer.android.com/guide/topics/manifest/uses-library-element.html
可能想用AmbientMode.AmbientCallbackProvider
代替WearableActivity
。
这是新的首选方法,它仍然给你所有的东西与WearableActivity
,但你可以继续使用AppCompatActivity
。
官方文档显示详细信息(和示例代码)