我现在正在Google Play商店发布我的第一个应用程序。 我已经压缩了我的应用程序中使用的图像。 我有一些关于应用程序大小的问题。 如果应用程序的大小小于2 MB,那么用户将卸载该应用程序的可能性会降低,对于属于教育领域的应用程序,我的这种说法是否正确? 但是,当我在Windows中看到我的apk文件,它显示3.10 MB的,但是当它从应用程序信息查看设备安装时显示: Total……………………….8.68 MB App…………………………7.02 MB USB storage app………………0.00 B Data………………………..1.66 MB (perhaps it is the size of sqlite db + ttf's) SD card……………………..0.00B 那么,为什么我看到我的应用程序大小增加了很多,可以最小化? 而且,我在我的项目中使用了4个库(JAR),这些库位于Android Private Libraries ,但是这些库也具有其在此文件夹外的副本。 删除它们会更安全吗?删除它们可以帮助减小apk大小? 此外,我还访问了很多描述Proguard网页的内容,我真正理解Proguard如何减小apk的大小,通过删除不使用的代码并使用语义上隐含的名称重命名类,字段和方法来缩小,优化和混淆我们的代码。 结果是一个更小的.apk文件,更难以进行反向工程。 但是我不知道我的proguard-project.txt应该怎么样呢? 我在我的应用程序中使用了4个库,即easyfacebookandroidsdk_2.3.jar , android-support-v7-appcompat.jar , google-play-services.jar和android-support-v4.jar 。 目前我的proguard-properties.txt看起来像这个&也不使用WebView # To enable ProGuard in your project, edit project.properties […]
根据这个答案如何解决“APK的版本代码需要高于2”。 在Google Play的开发者控制台中? 我刚刚将版本代码从2更改为3,并且未能上传版本。 这是我上传apk文件之前的旧版本 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mypackage name" android:installLocation="auto" android:versionCode="28" android:versionName="1.0028" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> ….. 这里是我必须在Android开发者控制台上传的新版本代码。 看我的宣言 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mypackage name" android:installLocation="auto" android:versionCode="2" android:versionName="2.0001" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> …… 我不知道这是什么问题。 任何帮助?
如何testing我的应用程序的更新,而不是干净的安装? 我看到, adb install有几个标志,但我不确定哪一个模仿现实。 我明确需要testing应用程序更新。
背景 我有一个应用程序( 在这里 ),除了其他function,允许共享APK文件。 为了做到这一点,它通过访问packageInfo.applicationInfo.sourceDir(文档链接这里 )的path到达文件,并共享文件(在需要时使用ContentProvider,就像我在这里使用的那样)。 问题 这在大多数情况下工作正常,特别是从Play商店或独立的APK文件安装APK文件时,但是当我使用Android-Studio本身安装应用程序时,我看到这个path上有多个APK文件,都不是有效的,可以安装和运行没有任何问题。 下面是这个文件夹的内容截图,在从“Alerter”github repo中尝试一个示例之后: 我不确定这个问题何时开始,但至less在Android 7.1.2的Nexus 5x上会发生。 甚至可能在之前。 我发现了什么 这似乎只是由于在IDE上启用了即时运行的事实而引起的,因此它可以帮助更新应用程序而无需重新构build它们: 禁用后,我可以看到有一个APK,就像以前一样: 您可以在正确的APK和分割的文件之间看到文件大小的差异。 另外,似乎有一个API可以获取所有分割的APK的path: https://developer.android.com/reference/android/content/pm/ApplicationInfo.html#splitPublicSourceDirs 这个问题 共享一个APK的最简单的方法是什么应该被拆分成多个? 是否真的需要以某种方式合并它们? 看来这是可能的根据文档 : 与零个或多个拆分APK的完整path,当与在sourceDir中定义的基本APK结合时,将形成一个完整的应用程序。 但是,做到这一点的正确方法是什么?有没有一种快速有效的方法呢? 也许没有真正创build一个文件? 是否有一个API可以从所有拆分的APK中获取合并的APK? 或者,也许这样一个APK已经存在了在其他path,并且没有必要合并? 编辑:只是注意到,我已经尝试所有第三方应用程序应该共享已安装的应用程序的APK在这种情况下没有这样做。
我已经使用Android Studio创build了一个已签名的apk,现在我要去zipalign,我已经阅读了这个: http : //developer.android.com/tools/help/zipalign.html,但我仍然不确定在哪里添加代码行,它是在Gradle文件中,并在文件中添加行吗?
从v4.1 Jelly Bean开始 ,Google为Google Play引入了新的应用程序资产encryptionfunction。 似乎在升级应用程序时出现了一些问题,包括由于apk目录(旧的是/data/app ,现在是/mnt/asec )中的更改导致重新启动后丢失的持久性数据。 因此,在Google Play上发布(或更新已发布的应用)时,对于OS 2.3+, 我可以禁用此选项并发布未encryption的应用程序吗? 这个问题的现状是什么? 有没有解决方法? 除了这个问题之外,提供额外的防盗版保护似乎也没有问题,但是在文档的任何地方我都找不到解释。 那么应用程序发布到其他商店,或通过OTA部署? 他们也可以encryption吗? 如果不是的话,那么如果任何人都可以从其他地方下载未encryption的apk并立即反编译,那么在Google Play发布中引起如此大的痛苦又有什么意义呢? 它可以通过生根电话被击败? 是否只有OS 4.0+才能提供保护? 如果是这样的话,那么,如果任何人都可以下载未encryption的apk到一个姜饼手机,用adb把它拉出来,并用通常的方式反编译,这又有什么意义呢? 假设该机制起作用:备份应用程序(如Titanium Backup)如何,或使用adb进行手动apk备份? 他们还会工作吗? 性能:一些应用程序可能有相当大的apk大小。 这种机制会妨碍性能吗? 操作系统在每次加载时都解密整个apk文件吗? 提前致谢 更新: 编辑以包含Google Code问题的链接。 问题34880(封闭,但有些开发者仍在抱怨;状态:将来发布) 问题35962(封闭;状态:已发布) 更新#2: 这篇博客文章中有趣的信息由第一个问题的开发人员之一链接。 也在这里用德语。 用户和开发人员报告说,在过去几天内,使用最新版Google Play(3.7.15)安装的应用程序似乎已经消失。 以前安装有问题的应用程序的用户需要卸载,然后免费重新下载。 据报道,新版Google Play现在将付费应用再次保存到/ data / app,这意味着Google现在已经停用了复制保护function。 Google没有公开评论这个问题。 该错误被标记为中等优先级,状态为“FutureRelease”可能的修复。
我已经search,但没有发现任何疑问或对我的具体情况的答案。 我有一台运行Windows 7的大容量内存的新机器。我正在使用最新的Eclipse和Android SDK。 当我运行一个应用程序时,仿真器需要大约45秒的时间才能启动(仿真器速度非常快!),从运行启动到运行我的应用程序。 如果我然后更改应用程序,并在仍在运行的模拟器上重新运行它,时间增加到70+秒! 与所有其他投诉相反,在我的情况下重新启动模拟器比使用现有的实例更快。 我不喜欢那样 这是时代: 2011-09-29 13:07:13 – hello Uploading hello.apk onto device 'emulator-5554' 2011-09-29 13:07:18 – hello Installing hello.apk… 2011-09-29 13:07:37 – hello Success! 在更改应用程序以重新运行之后重新运行: 2011-09-29 13:08:18 – hello Uploading hello.apk onto device 'emulator-5554' 2011-09-29 13:09:16 – hello Installing hello.apk… 2011-09-29 13:09:24 – hello Success! 正如你所看到的,当仿真器刚刚启动时,上传到仿真器只需要5秒钟。 运行模拟器需要将近一分钟的时间! 这是延长重新运行时间的原因。 即使在重新运行之前卸载模拟器上的应用程序,这也不会改变。 任何想法,我可以尝试解决这个问题? […]
我有一个关于新的Play开发者控制台function (Alpha&Beta Testing)的问题,也许有人有一些经验。 我邀请了GoogleGroups的一些testing人员,他们正在接受邀请并可以接受。 我想testing一个付费应用程序。 他们是否需要为testing付费? 这个应用程序在商店尚未发布但是。 我怀疑将其设置为空闲,之后我无法更改为付费应用程序。 任何build议如何进行?
我正在intellij和gradle下开发Android应用程序。 并使用以下方式生成密钥库文件: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 然后在build.gradle中使用keystore文件: signingConfigs { robert { storePassword 'robert' storeFile file('/Users/bournewang/Documents/Project/android.keystore') keyPassword 'robert' keyAlias 'mike' } } 当最后尝试生成签名的apk文件时:./gradlew assembleRelease 它给出了错误: 执行失败的任务':Myexample:packageRelease'。 无法从密钥库中读取密钥
将我的Phonegap应用上传到Google Play开发者控制台时出现此错误: APK的版本代码需要高于2。 我怎样才能解决这个问题?