Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

解决与最新apksigner(build-tools 28.0.x) 的兼容性问题 #259

Merged
merged 1 commit into from
Feb 19, 2019

Conversation

yrom
Copy link
Contributor

@yrom yrom commented Oct 23, 2018

问题:输出的渠道包无法在android p 上安装,如果原始包是用的最新版 apksigner(build-tools 28.0.x) 签名

原因:android p 需要 apksigningblock 的长度确保为 4096 的倍数
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/util/apk/ApkVerityBuilder.java#445

Fixed #256 #255

@yrom yrom force-pushed the fix-signature-scheme-v3 branch 2 times, most recently from 425c925 to 637fd6c Compare October 23, 2018 09:08
@yrom yrom changed the title 解决与最新apksigner(build-tools 28.x) 的兼容性问题 WIP: 解决与最新apksigner(build-tools 28.x) 的兼容性问题 Oct 23, 2018
@yrom yrom changed the title WIP: 解决与最新apksigner(build-tools 28.x) 的兼容性问题 解决与最新apksigner(build-tools 28.0.x) 的兼容性问题 Oct 23, 2018
@vclub
Copy link

vclub commented Nov 16, 2018

太好了 正需要这个呢

@vclub
Copy link

vclub commented Nov 19, 2018

你好,最新的walle-cli-all.jar 文件更新了吗? 在哪下载?

你下载代码自己编译呗,我就这么干的

@vclub
Copy link

vclub commented Nov 20, 2018

你好,最新的walle-cli-all.jar 文件更新了吗? 在哪下载?

你下载代码自己编译呗,我就这么干的

请问怎么编译啊? gradle assableRelease 吗? 编译完没找到生成的文件啊

walle-cli 里面有个shadowJar

./gradlew :walle-cli:shadowJar

@TUBOSS
Copy link

TUBOSS commented Nov 20, 2018

你好,最新的walle-cli-all.jar 文件更新了吗? 在哪下载?

你下载代码自己编译呗,我就这么干的

你好,你用最新的jar文件打包,在9.0上能安装了吗?我用最新编译好的jar包,打包还是安装不了

情况怎么样了?我目前也挺需要这个jar包

@vclub
Copy link

vclub commented Nov 20, 2018

你好,最新的walle-cli-all.jar 文件更新了吗? 在哪下载?

你下载代码自己编译呗,我就这么干的

你好,你用最新的jar文件打包,在9.0上能安装了吗?我用最新编译好的jar包,打包还是安装不了

你得把 @yrom 写的代码放进去啊

@TUBOSS
Copy link

TUBOSS commented Nov 21, 2018

你好,最新的walle-cli-all.jar 文件更新了吗? 在哪下载?

你下载代码自己编译呗,我就这么干的

你好,你用最新的jar文件打包,在9.0上能安装了吗?我用最新编译好的jar包,打包还是安装不了

你得把 @yrom 写的代码放进去啊

大佬,能把你的新构建的jar包给我吗?我把工程导入到as中,构建总是失败。帮个忙,留下了没有技术的眼泪。

vclub added a commit to vclub/vclub.github.io that referenced this pull request Nov 22, 2018
个人编译 支持Android Pie 分渠道, 解决v3问题

详情见 (Meituan-Dianping/walle#259)
@lanxingfu
Copy link

看了一下源码还是把渠道信息写在 v2 签名区块ID中哈,跟V3签名没关系

@juhuacha18
Copy link

B站大佬 请问我的工程用了你的walle-cli.jar包写入渠道名 然后使用9.0的手机还是无法安装
我使用的步骤是:
1.打release版本的apk
2.使用360加固
3.手动zipalign还有用apksigner手动签名(28.0.2版本)
4.使用你的walle-cli.jar写入渠道
5.9.0版本手机安装失败

我的项目配置是:
compileSdkVersion = 27
buildToolsVersion = "27.0.3"
minSdkVersion = 16
targetSdkVersion = 26
support_version = "27.0.1"

请问是不是和我使用的apksigner版本有关啊 能不能指教一下?

@yrom
Copy link
Contributor Author

yrom commented Dec 26, 2018

@juhuacha18 我自己本地打包测试过,是ok的,你试试跳过加固签名步骤直接写渠道。不过jar包是我基于pr自己编译的

@FullCat
Copy link

FullCat commented Dec 29, 2018

感谢大佬,解决了我的难题。已经打出了jar,下载地址:http://bmob-cdn-5241.b0.upaiyun.com/2018/12/29/7214f8cc401e3059801a7023605264d5.jar
(PS:我的打包流程是:一次签名apk->二次签名apk->渠道包,是用模拟器测试的)

@achellies achellies merged commit be6421b into Meituan-Dianping:master Feb 19, 2019
@androidZzT
Copy link

@juhuacha18 我最近也遇到了这个问题

  1. release apk
  2. 360 加固
  3. 28.0.2 apksigner
  4. 写入渠道
    也是安装不了,后来把 apksigner 回退到 27.0.3 就可以了。。我怀疑是 360加固那边和walle有冲突

@droplet-js
Copy link

然并卵,walle官方都不更新依赖,也不更新 walle-cli,自己维护又太麻烦 。。。

@Wynsbin
Copy link

Wynsbin commented Jan 9, 2020

感谢大佬,解决了我的难题。已经打出了jar,下载地址:http://bmob-cdn-5241.b0.upaiyun.com/2018/12/29/7214f8cc401e3059801a7023605264d5.jar
(PS:我的打包流程是:一次签名apk->二次签名apk->渠道包,是用模拟器测试的)

我用模拟器测试是没有问题,可是真机有问题,安装包失败

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Android9.0安装失败
10 participants