當我使用嵌入式Wear應用程序將APK推到手機上,然後轉到開始...,然後嘗試運行我的應用程序時,它會在手錶上崩潰。異常是一個ClassNotFoundException。無法在Wear設備上啓動嵌入式Wear應用程序的活動
09-18 14:53:17.678: E/AndroidRuntime(2391): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myapp/com.myapp.WearActivity}: java.lang.ClassNotFoundException: Didn't find class "com.myapp.WearActivity" on path: DexPathList[[zip file "/data/app/com.myapp-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.myapp-1, /vendor/lib, /system/lib]]
我已經在我的可穿戴AndroidManifest.xml文件中聲明瞭這個活動。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault" >
<activity
android:name=".WearActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我也仔細檢查過包名是否與上面聲明的一致,它的確如此。
在穿戴式模塊的build.gradle文件,我有proguard的關閉
buildTypes {
release {
runProguard false
signingConfig signingConfigs.release
}
}
真的不知道還有什麼會阻止OS查找該活動。有任何想法嗎?
是'com.myapp'爲'WearActivity'類的有效包?請檢查'WearActivity'的位置。 – 2014-09-18 20:44:10
在我的問題中,我已經提到我已經這樣做:) – styler1972 2014-09-18 20:45:09
你沒有發佈你的活動類,所以只需要確保:)你說,你推動應用程序的手機,以便「應該」也安裝Android Wear。你確定最新版本的可穿戴應用程序實際安裝在手錶上嗎?也許有一些舊版本沒有'WearActivity'?嘗試從手錶中卸載它,看看它是否會被正確安裝。順便說一句:它是否工作時,你推可穿戴式apk(用調試密鑰簽名)直接觀看(不依靠從手機安裝已簽名的apk)?請告訴我 - 它會消除一些情況:) – 2014-09-18 21:00:34