2014-01-20 28 views
9

我已经完成我的应用程序8个月的工作后,我正在尝试提交给Google Play。如何为Google Play提交设置Xamarin.Android APK的包名称

我签署并正确对齐APK并将APK上传到Google Play。然后,我收到以下消息:

上传失败APK的包名称必须采用以下格式“com.example.myapp”。它可能包含字母(a-z),数字和下划线(_)。它必须以小写字符开头。

这里是AndroidManifest.xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  android:installLocation="auto" package="com.vrocket.launcher" android:versionName="1.30.637" android:versionCode="1"> 
    <uses-sdk android:targetSdkVersion="14" /> 
    <application android:hardwareAccelerated="true" android:label="launchpad"> 
     <provider android:name="com.vrocket.launcher.LocalFileContentProvider" android:authorities="com.vrocket.launcher" /> 
    </application> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
</manifest> 

至于我可以告诉大家,我在这里指定的包名符合谷歌要求提交播放。自从我开始项目后,我确实在Android.Manifest中更改了包名,但我认为这是非常正常的做法。

有没有人有类似的问题提交一个Xamarin.Android应用程序到谷歌播放?

编辑:

因为我已经想通了,将APK正在与旧包名称VRocket.VRocket编译。 我使用Android SDK中的aapt工具发现了这一点。 为什么不使用AndroidManifest.xml中指定的包名来构建?

+0

您是否在清单文件本身或通过vs属性窗口设置了软件包名称? – eMi

回答

3

Visual Studio中的属性窗口(假设您在此处编写)有几个可以更改的设置。这些在编译时会覆盖清单。也许这就是你流浪的名字来自哪里? Xamarin在你的代码中放置在类文件中的属性也是如此,Xamarin会在编译时重写所有的清单。如果您在解决方案选项卡中显示隐藏文件并转至 obj \ Release \ android 此目录具有为您的应用程序生成的清单。也许它会暴露一些光。

1

我使用的是DevStudio并执行了以下所有操作,其中最后一项最终奏效,Play商店接受了我的构建。我敢肯定,#2,#5是必需的,也许所有的人,但在任何情况下,我想这应该很长的路要走,以帮助人们在类似的情况:

  1. 改变了文件名融为一体。 foo.bar.apk(很确定这不是 的事)
  2. 右键单击ProjectName.Droid,Properties - > Android Manifest。改变了包名com.foo.bar
  3. 在同一对话框中,将版本号为1和版本名称为“阿尔法1”
  4. 在属性 - >应用程序,改为大会com.foo.bar
  5. 在存档管理器中,右键点击我的应用程序并删除它。通过再次右键单击项目并重新创建,然后选择 存档...