我试图通过编辑androidmanifest.xml
文件来更改我的默认/主/启动(无论你怎么称呼)活动.我所做的只是改变了android:name
财产.然而,这完全打破了整个应用程序.当我尝试安装它失败并读取.
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图将它改回以前的状态时,它仍然给我同样的错误......我做了什么?
我的应用程序安装其他应用程序,它需要跟踪它已安装的应用程序.当然,这可以通过简单地保留已安装的应用程序列表来实现.但这不应该是必要的!PackageManager应该负责维护installedBy(a,b)关系.事实上,根据API,它是:
public abstract String getInstallerPackageName(String packageName) - 检索安装包的应用程序的包名称.这确定了包裹来自哪个市场.
使用Intent安装APK
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
使用Intent卸载APK:
Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package",
getPackageManager().getPackageArchiveInfo(apkUri.getPath(), 0).packageName,null));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这显然不是Android Market安装/卸载软件包的方式.他们使用更丰富的PackageManager版本.通过从Android Git存储库下载Android源代码可以看到这一点.以下是与Intent方法相对应的两种隐藏方法.不幸的是,外部开发人员无法使用它们.但也许他们将来会是这样?
使用PackageManager安装APK
/**
* @hide
*
* Install a package. Since this may take a little while, the result will
* be posted back to the given observer. An installation will fail if the calling context
* lacks the {@link android.Manifest.permission#INSTALL_PACKAGES} permission, if the
* package named in …
Run Code Online (Sandbox Code Playgroud) 因为我是反应原生的新手,所以如果步骤中有任何错误,请告诉我.
我根据文档使用命令构建了一个react native android应用程序
react-native android
在设备上运行时,使用了以下命令
react-native run-android
这给了我在我的projectfolder/android/app/build/outputs/apk中输出的2个apk文件
现在,当我在安装后使用安装这个apk时,它要求开发服务器连接到捆绑JS.但我的要求是,用户不需要为开发服务器而烦恼,只需要安装apk即可完成所有操作.
已经完成了一些stackoverflow问题但没有帮助构建不需要开发服务器的unsigned apk.
你能帮助我找到如何在反应原生中构建和未签名的apk的方法吗?
在android studio中,build variant设置为"debug"模式,我发现了apk的两个输出
这些文件之间有什么区别?
我正在尝试签署我的apk文件.我无法弄清楚该怎么做.我找不到好的深入方向.我的编程经验很少,所以任何帮助都会受到赞赏.
我用apktool解码了一个APK(因为原始源代码丢失了)所以我可以修复布局xml文件的一些问题.然后我用apktool重新安装它,当我尝试在我的设备上安装它时(使用adb:adb install appname.apk)它给了我这个错误:
[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Run Code Online (Sandbox Code Playgroud)
然而原来的apk是由一个密钥库(在eclipse IDE上)签名的,这个不是,我怎么能用它在Eclipse之外的原始keystone文件正确签名呢?
根据这个答案如何解决"你的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" />
.....
Run Code Online (Sandbox Code Playgroud)
这是我必须在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" />
......
Run Code Online (Sandbox Code Playgroud)
我不知道这个问题是什么.有帮助吗?
我需要签署Android应用程序(.apk
).
我有.pfx
档案.我.cer
通过Internet Explorer 将其转换为文件,然后转换.cer
为.keystore
使用keytool.然后我尝试.apk
与jarsigner 签约,但它说.keystore不满足私钥.
我做错了什么?
apk ×10
android ×9
java ×2
certificate ×1
install ×1
installation ×1
jarsigner ×1
keytool ×1
react-native ×1
signing ×1
smali ×1
uninstall ×1