Android Studio"应用程序具有相同的软件包名称"

时间:2014-07-25 00:03:09

标签: android mobile android-studio google-glass

我在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>

3 个答案:

答案 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

相关问题