我上传了我的第一个APK文件到谷歌播放,但我收到以下错误.
您上传了一个非zip对齐的APK.您需要在APK上运行zip对齐工具并再次上传.
任何人都可以告诉我如何拉链对齐我的apk文件?
请告诉我这些步骤?
我首先在Google Play开发者控制台中意外地将APK上传到制作中.现在当我点击发布时,它实际上将我的应用程序发布到了Play商店,即使我现在已经上传到alpha通道.没有办法删除生产APK.我希望我不需要从谷歌播放中删除整个应用程序项目?
我正在寻找一个示例网页(html代码),其中的链接将通过单击链接直接在我的手机上安装apk文件.
我需要查看谁已将我安装的应用程序签名到我的设备上.这通常可以在设备上还是在PC上进行?
有没有办法让ProGuard返回发生崩溃的行号?我可以retrace
用来获取方法,但是经常因为NullPointerException
有太多的可能性而且在大量的代码中很难确定根本原因,因为你必须检查每个对象和它的生命周期以确保没有任何东西错误.如果ProGuard可以将此范围缩小到我的行号,那将会非常有帮助.
我已将两个APK文件上传到Google Play商店.一个是较新的版本,一个是较旧的版本.较新的版本是活动版本,因为它具有更高的版本名称和代码.现在我在较新版本中发现了一些错误,我想从Play商店删除它并激活旧版本.Google Play不会让我停用较新的版本并再次激活旧版本,因为它具有较低的版本名称和代码.问题是我不是开发人员而且没有构建应用程序.开发人员在另一个国家,很难掌握它们.
我该怎么做才能重新激活旧版本?我知道一个解决方案是更改versionName和Code.我只有apk文件,我可以用Eclipse文件更改Eclipse中的那些细节,在eclipse或开发Android应用程序的经验很少吗?
谢谢
我在PlayStore上有一个现有的应用程序.我正在发布新版本的应用程序作为分阶段推出.但是,由于"完全阴影APK"错误,我无法发布应用程序.
到目前为止,我还没有找到任何关于如何解决此错误的文档.其他人面对这个?
最近我注意到在Android Studio(v.2.3.3)中生成的APK具有与以前不同的内部结构.吸引我注意的是特别是名为的文件夹HACKED-META-INF
.有谁知道这个文件夹的目的是什么?它包含以下文件:
HACKED-META-INF /服务/ io.grpc.ManagedChannelProvider
HACKED-META-INF /服务/ io.grpc.NameResolverProvider
最近我更新了构建工具到26.0.2和compileSdkVersion到26.这可能是相关的吗?
亚马逊的文档令人惊讶地缺乏有关提交二进制过程的信息.从我可以告诉你,你提交一个无符号二进制文件,他们将它包装在自己的代码中,并生成一个签名的apk?
这留下了几个问题:
在深入研究这个过程之前,是否还有其他考虑因素或陷阱?
谢谢
我写了一个方法在所有版本的android中安装apk,它的工作原理直到android 8.但似乎android 8不响应这种方法
install_apk(File file) {
try {
if (file.exists()) {
String[] fileNameArray = file.getName().split(Pattern.quote("."));
if (fileNameArray[fileNameArray.length - 1].equals("apk")) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Uri downloaded_apk = getFileUri(context, file);
Intent intent = new Intent(Intent.ACTION_VIEW).setDataAndType(downloaded_apk,
"application/vnd.android.package-archive");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这个方法用于获取api> = 23的uri
Uri getFileUri(Context context, File file) {
return FileProvider.getUriForFile(context,
context.getApplicationContext().getPackageName() + ".HelperClasses.GenericFileProvider"
, file);
}
Run Code Online (Sandbox Code Playgroud) android ×10
apk ×10
google-play ×3
amazon ×1
certificate ×1
installation ×1
java ×1
proguard ×1
publishing ×1
signature ×1
signing ×1
zipalign ×1