当前位置: 首页 > 知识库问答 >
问题:

Android wear包装不起作用

穆智刚
2023-03-14

我正在尝试打包Android wear应用程序,但wear应用程序并没有自动安装在手表中。

我正在使用Eclipse手动打包wear应用程序,如下所述

https://developer.android.com/training/wearables/apps/packaging.html#PackageManually

日志还说安装了磨损应用程序,但我在Watch中找不到该应用程序。这是安装日志,

09-16 12:55:08.135: D/Finsky(11998): [1] WorkerTask.onPreExecute: Verification Requested for id = 4, data=file:///storage/emulated/0/Download/WearCompanion.apk flags=16 fromVerificationActivity=false
09-16 12:55:13.955: D/PackageManager(2339): Sending to user 0: act=android.intent.action.PACKAGE_ADDED dat=package:com.titut.wear flg=0x8000000 Bundle[{android.intent.extra.UID=10013, android.intent.extra.user_handle=0}]
09-16 12:55:14.160: I/HomeSyncInstallReceiver(2711): Package Added : com.titut.wear
09-16 12:55:14.930: D/BackupManagerService(2339): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.titut.wear flg=0x8000010 (has extras) }
09-16 12:55:14.950: D/ECS_EnterpriseContainerService(2339): <<< Intent data is   >>> : package:com.titut.wear
09-16 12:55:14.975: D/[FileShare][Server](12291): ServerBroadcastReceiver : onReceive: android.intent.action.PACKAGE_ADDED // package:com.titut.wear
09-16 12:55:15.130: I/SmartCardBroadcastReceiver(11980): foundMatchingVendorPackage - Checking for com.titut.wear
09-16 12:55:15.195: I/CrashAnrDetector(2339): onPackageAdded : com.titut.wear
09-16 12:55:15.320: D/PackageBroadcastService(6283): Received broadcast action=android.intent.action.PACKAGE_ADDED and uri=com.titut.wear
09-16 12:55:15.365: I/IcingCorporaProvider(3480): Updating corpora: APPS=com.titut.wear, CONTACTS=MAYBE
09-16 12:55:15.400: D/WearablePkgInstaller(3243): Got PackageUpdateReceiver message Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.titut.wear flg=0x8000010 cmp=com.google.android.wearable.app/com.google.android.clockwork.companion.packagemanager.PackageUpdateReceiver (has extras) }

会是什么错误?有什么建议吗?谢谢

注意:我正在使用以下命令在配套移动设备中安装应用程序

ADB安装WearCompanion.apk

更新日期:

穿戴应用程序清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.titut.wear"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-feature android:name="android.hardware.type.watch" />
    <uses-permission android:name="android.permission.VIBRATE" />

    <uses-sdk
        android:minSdkVersion="20"
        android:targetSdkVersion="20" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.DeviceDefault" >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <activity
            android:name="com.titut.wear.LoadingActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.titut.wear.MainActivity"
            android:label="@string/app_name" >
        </activity>
        <activity
            android:name="com.titut.wear.OfferDetailActivity"
            android:label="@string/app_name" >
        </activity>

        <service android:name="com.titut.wear.OngoingNotificationListenerService" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>
    </application>

</manifest>

配套应用清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.titut.wear"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="20" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.VIBRATE" />

    <uses-feature
        android:name="android.hardware.type.watch"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.bluetooth_le"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="com.titut.companion.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name="com.titut.companion.service.MessageListenerService" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.wearable.beta.app"
            android:resource="@xml/wearable_app_desc" />

        <service
            android:name="com.titut.companion.service.BeaconService"
            android:enabled="true" />
    </application>

</manifest>

原始文件夹

wearable\u app\u desc.xml

<wearableApp package="com.titut.wear">
  <versionCode>1</versionCode>
  <versionName>1.0</versionName>
  <rawPathResId>wearable_app</rawPathResId> 
</wearableApp>

共有3个答案

封鸿雪
2023-03-14

移动/伴侣应用程序中的权限必须与wear应用程序中的权限相同。在您的穿戴清单中只有一个权限,但在移动清单中有五个权限。将移动清单权限复制到磨损清单。

鲜于凯康
2023-03-14

当使用调试密钥签名时,Wear应用程序不会自动推送到设备。您需要通过使用Eclipse进行调试,手动将安装推送到设备上,或者使用释放键对移动APK进行签名:

注意:当您使用调试密钥对应用程序进行签名时,可穿戴应用程序的自动安装不起作用,只能使用发布密钥。有关如何正确打包可穿戴应用程序的完整信息,请参阅打包可穿戴应用程序。

更多详细信息:https://developer.android.com/training/wearables/apps/creating.html#Install

汪阿苏
2023-03-14

在您在设备中安装应用程序之前,只需检查以下内容。

1)您的PhoneAppPackage名称和穿戴App Packagename必须相同

2) 在Xml文件夹中,appPathResid和添加的Apk文件名必须相同

3) 您是否使用原始设备进行测试,然后只启动蓝牙调试,或者如果您使用模拟器和真实手机,则启动USB调试

就是这样...

 类似资料:
  • 关于如何修复gradle版本,有很多很好的建议,但有些已经过时了,或者我只是找不到建议的路径。对我来说,一个解决方案是Project>Project Structure>Project>Gradle Version。 在这里我可以把它改成支持的版本,并且成功地构建项目。 从这个链接,它暗示这是设置你的gradle包装的方式。 因此,我希望Project/Platforms/Android/Grad

  • 我已经覆盖了和所以我不太确定出了什么问题。它们是使用 Eclipse 生成的(来源 -

  • 问题内容: 我从学习Spring开始,我创建了一个基本项目,该项目创建数据库,插入值,然后在Web浏览器中打印它。我的问题是,当我将RestController和主类放在同一个包中时- 可以,但是我想将其分发到其他包中,而当我创建新包时,移动RestController则不起作用。让我们见面解释: 我的项目看起来像: 我的控制器看起来: 当一切都在包,我写的网络浏览器的http://本地主机:80

  • 我正在使用R rticles包中的Elsevier模板在Rstudio中生成pdf文档。对于这篇论文,我想包括一个.png图像。当我加载图像时 工作正常,但当我将其更改为等效的knitr命令时(我更喜欢这个命令,因为它更容易设置fig大小等)。 我得到以下错误: 当我在rmarkdown中切换到pdf的标准输出设置时,输出:pdf_document,knitr选项确实起作用,所以我猜问题一定与rt

  • 以前,我曾成功地使用kableExtra中的将latex表导出到*.png中。但是,将R更新到4.0.2版后,save_kable始终以R致命错误结束(没有显示特定的错误消息,会话只是中止)。我安装了一个干净的R3.6.3版本,一切正常。 接下来,我重新安装了MikTEX,但这似乎不是问题所在,因为R Markdown可以创建一个没有问题的.pdf文件(在4.0.2版本中)。此外,使用带有“htm

  • npm错误!有效得安装目标: npm错误![“0.1.0”,“0.1.1”,“0.1.2”,“0.1.3”,“0.1.4”] npm错误!在installTargetsError(C:\Program Files(x86)\nodejs\node_modules\ S:698:17) npm错误!在C:\Program Files(x86)\nodejs\node_module\npm\lib\c