将Android应用发布到市场之前的“待办事项”列表[关闭]


317

我正准备将我的第一个应用程序发布到Android市场,并且我想知道你们中的任何人是否对您发布应用程序时遇到的任何提示有任何提示,记录下来。

在将应用发布到市场上之前,有任何隐藏的警告和/或关于做什么的想法吗?例如,我的一个伙伴建议我删除代码中的所有注释,以防万一有人进入源代码,从而使可能的“代码劫持者”更难于解密代码。我认为这是一个明智的建议。

在将其应用发布到Android市场之前,需要做些什么?


1
官方文档中已经发布了一个清单,以确保您满足平板电脑用户的基本期望。
杰夫·阿克塞尔罗德

48
奇怪的是,它不是建设性的,获得了16K的观看次数
require_once 2014年

61
解决诸如“非建设性”这样的建设性问题,就是一个明显的例子,说明了为什么应当改变Stackoverflow的审核政策!
Orion

7
必须确保您的应用富含关键字并在发布之前进行关键字研究。.请参阅我如何使用Google趋势工具进行关键字研究
NabeelSaleem 2014年

2
遵循Google Play开发者政策,确保您的应用程序没有违反任何规定,您必须非常小心地使用Google。当您在Cloud 9上下载200万次并且突然暂停应用程序时,这会给您带来很大的伤害您没有遵守他们的政策。
Yauraw Gadav'3

Answers:


339

希望还不算太晚,这里有一些建议:

  • 在一周结束时(通常是星期四下午)启动您的应用程序。为什么这样?嗯,没有公司愿意在周末结束前1.5天才发布应用程序->太危险了(以防万一需要快速反应的问题)。

  • 在您的应用程序上使用proguard(通常,您只需proguard.config=proguard.cfgdefault.properties文件中添加以下行:)。这将优化,缩小和混淆您的代码,对于防止代码窃贼非常有用。您不必删除任何注释,它们会在编译时自动删除。

  • 优化图像(使用Paint.NETPNGCrushOptiPNG)。

  • 针对大多数屏幕尺寸优化布局。您可以通过在AndroidStudio或Eclipse中编辑布局时简单地更改屏幕大小来做到这一点。

  • 尝试/捕获UI上的所有异常,并显示简单的Toast,向用户指示发生了错误。同时,使用Crashlytics或类似工具检索错误。

  • 不要使用太多的.jar库,而是选择库项目(优化代码大小)并使用gradle进行添加。

  • 最好使用矢量图像,因为它会减小APK的大小并正确安装在所有设备上。

  • 不要使用Android偏好设置窗口->并不是很漂亮的窗口,即使它在Android准则中,也请您自己设置页面。但是,如果您保留Android偏好设置:请考虑添加图标和颜色。

  • 不要在主屏幕(this.requestWindowFeature(Window.FEATURE_NO_TITLE);)上显示应用程序的标题:好的品牌不需要在屏幕上占用太多空间就可以识别出来(在菜单中或不总是可见的地方显示一些图标或标题) ,并this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);在处理游戏和非常逼真的内容时考虑使用全屏模式()。

  • 使用Google Analytics(分析)Fabric AnswersFlurry进行将来的分析->尝试获取尽可能多的信息,但不要抓住任何违反客户匿名身份的信息。不要忘记检索用户端发生的异常(错误和堆栈跟踪)。

  • 要求您的朋友进行猴子测试,向用户学习通常会带来很多好处(例如优先级和新思路)。

  • 考虑在完成所有功能(仅最重要的功能)之前发布您的应用程序,除了主要功能之外,您还不知道用户会想要或需要什么。

  • 在应用中添加“更多应用”或“来自开发人员的更多内容”部分,这是免费的广告。

  • 添加“发送反馈”部分,使用户可以要求新功能或报告一些错误。

  • 通过在Web上某个地方(例如Crowdin)提供strings.xml,要求用户翻译您的应用程序。

  • 使用模拟器在每个Android版本上尝试您的应用->这样,就会检测到许多错误或设计问题。为此,您可以使用提供的仿真器,也可以使用Genymotion(Genymotion具有很多非常有用的功能)。

  • 考虑一下应用程序的名称->您将使用哪些关键字搜索应用程序?这些关键字应该是您应用的名称(Google会通过这种方式帮助您被发现)。

  • 考虑在应用程序描述中包括关键字,但要采用描述性的方式(使用关键字使句子易于理解)。切勿按说明中那样添加关键字列表。

  • 成为第一个为您的应用评分5星的人,并要求您的家人和朋友也这样做->这可能会影响未来的用户评分。

  • 考虑使用Google来翻译您的应用程序,以获取描述信息,要么是strings.xml,要么是两者。

  • 考虑在您的应用中展示广告,并使用中介来提高AdMob的收入。

  • 与其提供付费版本,不如考虑进行应用内结算->用户更有可能付费而不是付费版本。

  • 在应用程序中添加更改日志->用户通常喜欢知道自上一版本以来发生了什么更改。

  • 为帮助您的用户添加“感谢”部分->这将使用户参与您的产品。

  • 在您的应用中添加“如果您喜欢此应用,请给它评分”链接(指向您的Google Play描述)->您将获得5星(通常是在启动时弹出窗口,或者在执行功能操作后弹出)。

  • 考虑通过应用程序中的“提示”或“说明”部分来说明您的产品。

  • 将密钥库和凭据信息保存在安全的地方。如果您丢失了密钥库,则将无法发布应用程序的更新。

  • 使您的图标真正简单明了。图标是使用户下载您的应用程序的第一件事,也是主要的最后一件事。

  • 除非不可能,否则最好使用外部安装(android:installLocation="preferExternal"在AndroidManifest.xml中)。

  • 阅读AppAnnie技巧和博客文章,它将为您提供有关如何改善ASO并帮助您更好地了解用户的提示。


2
如果您在日食中对不同的模拟器进行测试时遇到问题,则可以获取genymotion模拟器,这是如此之快。另外,优化png图像www.tinypng.com是一个不错的选择
Arash

2
确实有用,但请记住,为了提供适当的UX体验,最好有充分的理由进入全屏显示。就像您希望用户将注意力集中在一个元素上并消除所有其他干扰因素一样。
2014年

1
applicationId发布应用后无法重置。很多时候,它包含您不想透露的单词(例如您的用户名)。在build.gradle您的Android Studio项目文件中进行设置。
gsinha 2015年

7
我来StackOverflow寻求问题的答案。我的问题是“发布Android应用程序之前我应该​​做什么?”这是一个非常有用的答案,我想可能还会有很多其他问题,因此以“不具建设性”来结束问题似乎不是很有建设性。
user872985

2
感谢您的提示。.我想知道一件事,如果有人在Play商店中打开我的应用程序,我想显示我的应用程序作为“开发者提供的更多内容”的建议,那么有什么办法可以做到
Geethu

47

确实,不必费心删除代码注释。您的源代码不会传递到用户的电话上,只有经过编译的代码才能到达该电话,并且该源代码完全不包含对您的注释的任何引用。

Android用户倾向于欣赏应用程序越小越好,因此请仔细检查您仅包含仍在应用程序中使用的资源(图像等)。对应用程序中的任何.png图像使用OptiPNG / PNGCrush-可以将图像文件大小减少约10%,这可能是整个应用程序大小的重要部分。

另外,请使用音频编辑器(例如Audacity)尽可能减小任何音频的大小。单声道OGG Vorbis文件通常是最好的选择,并且在手机上听起来足够好。


1
如果我的记忆正确地为我服务,我想我读到的地方是.apk打包后,代码未编译。我一直以为.apk包含所有源文件,就像您看到是否已转到Eclipse的项目工作区文件夹一样...,而Dalvik在运行时会即时编译代码在通电话??我希望我完全错了,因为即使我在阅读本文时,我也在对自己说:“那不安全。” 我也是xda-developers.com的成员,他们似乎一直在为应用程序发布脱胶的apk文件。
dell116 2011年

16
不,原始货源不发货。.apk文件只是变相的.zip文件,因此请重命名并查看。/ assets和/ res / raw中的所有内容都不会更改,/ res中的可绘制对象也不会更改。/ res中的xml文件以某种方式处理过(也许这里的其他人知道它们是加密的还是压缩的?)。您的源代码被编译到classes.dex中。如果在记事本中打开它,您会发现它包含源代码中的许多字符串(方法和变量名等),但未包含任何注释。
teedyay 2011年

7
编译xml文件以优化其解析和导航。有反编译工具。
bigstones,2011年

@bigstones我们在这里谈论什么样的编译程序?
罗伯特·马赛奥里

@RobertMassaioli就AAPT而言,它是在构建时自动完成的。
巨石2012年

36

不用担心评论。但是,如果您担心应用程序被恶意解剖,请通过ProGuard等混淆器运行它。

我会提供的其他提示:

  • 准备好您所有的图形和宣传材料。
  • 有策略地将发布时间安排在生活中没有很多其他事情发生的时候(例如在周末之前),这样,如果第一批用户开始遇到问题,您将有时间响应FAST。早期的低评分可能会杀死您,但是快速的电子邮件响应和修复可以完全兑现客户对您应用程序的意见。
  • 我会同意前面有关尽可能减小图像尺寸的评论。
  • 如果尚未将代码放入源代码管理,则将其放入。您一定需要在某个时候发布更新和修复程序,而源代码管理可以在其中发挥重要作用。

4
+1可以在您有时间快速解决问题时发布!
teedyay 2011年

谢谢您的回复。我相信其他人也将不胜感激。我正在使用Eclipse Galileo制作我的应用程序,SO上的另一个线程说Subversive for Eclipse是最容易习惯的源代码控制工具之一。关于这一点,Eclipse网站上有一个Subversive版本可供下载,但是我只看到Helios版本的链接。您或其他人是否知道此插件可与Galileo一起使用?
dell116 2011年

我不知道,实际上。我执行的版本控制未与Eclipse集成,因为我没有去设置它。当我在Windows中时,我使用TortoiseSVN;在Linux机器中时,我使用Subversion命令行工具。
Blumer

说到更新,是否简单到用更新的文件重新打包应用程序,然后用具有不同版本号的新文件替换市场上较旧的.apk?我记得曾经尝试在预先存在的安装之上重新安装我的应用程序(没有卸载该应用程序以尝试模拟“更新”),但是它失败了,这使我想到在发布更新时可能会发生这种情况。 。但是,为了争辩,我在旧安装之上安装的“ update” .apk在清单中没有不同的版本号。再次感谢您的任何建议!
dell116 2011年

1
当您将新的.apk上传到市场时,它将检查以确保版本号自上次以来已增加。在设备上安装更新时,我相信它不会检查版本号,而是安装您告诉它的内容。我知道,如果新旧版本签名的密钥不同,则安装更新的.apk将会失败。您必须先卸载旧版本,然后再安装更新。
Blumer

32

不知道您是否曾经看过这个,但是您应该使用猴子来锻炼您的UI- 我的应用程序只有一次崩溃,但是如果我先用Monkey测试过它,那么它就不会有任何崩溃。


18

我将添加一个显而易见但重要的提示:将签名密钥保存在安全的地方,然后进行备份。如果要让Eclipse为您管理它,请注意它在何处创建密钥库,并保存它的备份副本。并且不要忘记密钥库或单个签名密钥的密码。

原因:您需要使用与原始应用签名相同的证书对应用更新进行签名。如果您丢失了该证书(或无法访问它),则无法更新您的应用程序。您必须在Android市场上创建一个新列表。


1
在进行计算机还原时,我差点丢了钥匙。幸运的是,我有一个备份!
Ruchir Baronia 2015年

17

我容易忘记的几点:

  • 仔细检查您minSdkVersion的清单
  • 在您的模拟器上测试您的应用 minSdkVersion
  • 让您的朋友测试您的应用,看看它是否不言自明

如果您要在您的应用程序中提供更新:

  • 您可能要添加某种“此版本中的新功能”对话框
  • 备份您的旧版本!
  • 不要忘了增加,versionCodeversionName在你的清单

6
切合实际,并且如果您的应用程序使用SQLite数据库,请确保您的表创建和升级过程都工作正常。
Blumer

13

不要忘记在清单中将debuggable = false设置为false。那让我有些困惑了。

我不确定,但是我认为这将包括很多信息,从而使代码黑客的生活更加轻松。

我记得几年前我不小心删除了Java项目的源代码,让我感到震惊的是我没有备份!我使用了一个名为jad的实用程序在生产服务器上反编译jar文件,它具有完整的所有变量并且几乎是完美的。我不记得这些注释是否存在,但是无论如何我还是没有在它们中放很多注释:)这是因为编译时我包括了符号。


2
机器人:可调试的默认值根据谷歌是假developer.android.com/guide/topics/manifest/...。搜索文本“ android:debuggable”。
原始Android

11

除了上述出色的建议外,请考虑将Flurry用于移动分析。刚开始发布我的应用程序时我并不知道,但是现在我已经对其进行了更新以包含它,因此我很乐意看到用户实际上正在使用该应用程序。这可以为用户可能难以找到或对用户不感兴趣/无用的事情提供有价值的反馈和指导。


8

据我所知,评论未以任何形式包含在应用程序中。

在提交应用程序期间,我发现开发人员的唯一“陷阱”是可以提供给市场的各种图形。准备拍摄几个屏幕截图,并创建几个应用程序图标大小以及促销图形。

好的一面是,准备让您的应用立即在商店中显示-Android Market应用没有批准程序。


7

我还要确保您有某种错误报告,以便您知道有多少用户遇到错误。在更新应用程序时,您可能需要保留旧版本的副本,以防您需要回滚。编译特定于您的应用程序的清单也很不错,您可以每次查看。

另外,您可能还想使用微调器来删除未使用的代码段,以减少整体文件大小(因为电话空间非常有限)。您可能还希望混淆代码以提供额外的保护。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.