我用apktool解码了一个APK(因为原始源代码丢失了),所以我可以修复布局xml文件的一些问题.然后我用apktool重新构建了它,当我试图在我的设备上安装它(使用adb:adb install appname.apk)时,它给了我以下错误:

[INSTALL_PARSE_FAILED_NO_CERTIFICATES]

然而,最初的APK是由密钥库(在Eclipse IDE上)签名的,这个不是,我如何才能在Eclipse之外用它的原始Keystone文件正确地签名呢!?

推荐答案

使用

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

然后使用以下方式签署apk:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

check here for more info

Android相关问答推荐

广播接收者意图从服务内设置,而不被其他服务接收

为什么R8不混淆某些类?

Jetpack Compose Scaffold—content不在TopAppBar下面开始'

Android和Rust,OpenSSL交叉编译在ARM V7上链接失败

在Android Studio中,如何在BuildSrc Dependenices Kotlin文件中指定时标记与旧版本的依赖关系

react 本机生成失败,出现异常.错误:无法确定';<;宏/>;的类型

为什么柱子的高度不都一样?

在Android中使用Room从SQlite数据库中获取实体列表的正确方式是什么?

触发PurchasesUpdatedListener回调时,billingClient.launchBillingFlow之前设置的成员变量丢失

学习Kotlin问题.无法理解Modifier参数

Spinner - onItemLongClick 从未执行

当 Jetpack Compose 中的第一个文本很长时,将省略号添加到第一个文本

单击按钮时不显示 Toast 消息

java.lang.ExceptionInInitializerError -- 原因:java.lang.NullPointerException

在 compose android 中创建一个圆形按钮和居中文本

如何在 React Native 中调试网络响应

Jetpack Compose 惰性列在单个项目更新时重新组合所有项目

如何在 BottomBar jetpack compose 中删除选定的椭圆项目 colored颜色

复用 RecyclerView 适配器,避免不必要的 API 调用

在 jetpack compose 中使用 .shadow 和 Button 会导致问题