我在Android Studio中的应用程序具有适用于移动设备和Google眼镜的独立组件。当我尝试将移动版加载到Nexus 10(Android版本4.4.2)时,我收到以下错误:
Applications have the same package name com.example.carterpedersen.datatransfer:
mobile, glass
然而,我可以毫不费力地将应用程序加载到玻璃设备(XE19.1)上。
我发现这个错误令人困惑,因为我的应用程序已运行几周没有问题,并且突然移动组件瘫痪了。我最近在移动组件上添加了对玻璃R的依赖,但即使这是在此错误出现之前的几天。
我尝试重构移动目录以及整个包,但没有成功。
我搜索了SO和其他来源,但我没有发现任何重复;如果我在这一点上错了,请链接我。谢谢您的帮助。提供的清单如下。
移动清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.carterpedersen.datatransfer" >
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.carterpedersen.datatransfer.FileRetrieval"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.carterpedersen.datatransfer.BluetoothClient"
android:label="@string/title_activity_bluetooth_client" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Glass Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.carterpedersen.datatransfer" >
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.carterpedersen.datatransfer.LauncherActivity"
android:label="@string/title_activity_launcher" >
</activity>
<activity
android:name="com.example.carterpedersen.datatransfer.LiveCardMenuActivity"
android:theme="@style/MenuTheme" >
</activity>
<!-- Service responsible for maintaining LiveCard -->
<service
android:name="com.example.carterpedersen.datatransfer.LiveCardDataCollect"
android:icon="@drawable/ic_glass_logo"
android:label="@string/title_activity_live_card_data_collect" >
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data
android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/voice_trigger" />
</service>
<!-- For content sharing permissions -->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.carterpedersen.datatransfer.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<!-- Selects file for sharing to client. -->
<activity
android:name="com.example.carterpedersen.datatransfer.FileShareActivity"
android:label="@string/title_activity_file_share" >
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity
android:name="com.example.carterpedersen.datatransfer.BluetoothHost"
android:label="@string/title_activity_bluetooth_host" >
</activity>
<receiver android:name="com.example.carterpedersen.datatransfer.BluetoothHost$HostBroadRec" >
<intent-filter>
<action android:name="transapps.g6.new.alert" />
</intent-filter>
</receiver>
</application>
答案 0 :(得分:0)
尝试只使用一个清单(组合在移动和Glass上使用 - 我假设一个apk正确吗?)
答案 1 :(得分:0)
完全关闭android工作室并重新打开它。在此之后我的问题解决了。
顺便说一句,您可以在cmd上尝试此命令:
adb uninstall com.your.package
答案 2 :(得分:-1)
尝试更改每个AndroidManifest.xml文件中的package
名称。因此,例如,更改为:
移动
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.carterpedersen.mobile.datatransfer" >
玻璃
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.carterpedersen.glass.datatransfer" >
包名称在应用程序中应该是唯一的。请参阅http://docs.thrust.googlecode.com/hg/group__extrema.html。