4

AppCompatActivity を WearableActivity に移行しているときに、次のメッセージが表示されてクラッシュします。

原因: java.lang.IllegalStateException: ウェアラブル共有ライブラリ クラスが見つかりませんでした。アプリケーション マニフェストに uses-library android:name="com.google.android.wearable" android:required="false" /> を追加してください

アプリケーションでアンビエント モードを有効にするために、このリンクをたどっていました: Keeping Your App Visible

マニフェストとグラドルにはそれぞれ次のものがあります。

<uses-library android:name="com.google.android.wearable"
    android:required="false" />

…</p>

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'

これらはリンクから直接取得しました(正しく理解できたことを願っています)。

私のデバイスは次のバージョンを実行しています:

  • アンドロイドウェア - 1.1.1.1929530

  • Google Play サービス - 7.5.76 (2002306-534)

  • Android OS - 5.1.1

android.support.wearable.activity.WearableActivity を提供するライブラリがデバイスにバンドルされている必要があると推測していますが、そこにはありません。

4

2 に答える 2

10

あなたの 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

于 2015-07-18T13:36:50.880 に答える
0

AmbientMode.AmbientCallbackProviderの代わりに使用したい場合がありWearableActivityます。

これは新しい推奨方法であり、引き続きすべてのものを提供しWearableActivityますが、引き続き使用できますAppCompatActivity

公式ドキュメントは詳細 (およびサンプルコード) を呼び出します

于 2017-10-25T17:39:07.840 に答える