问题描述
是否可以为单个 APK 同时上传“ReTrace 映射文件”和“本机调试符号”?
我们在我们的应用程序中使用来自 googleapis npm 包(“googleapis”:“^70.0.0”)的“androidpublisher_v3”,我们设法发布了一个新的 APK,其中包含一个反混淆文件(mapping.txt 或 native- debug-symbols.zip) 到 Google Play 管理中心。
我们目前的流程是:
- 正在初始化 Google Play 发布商 API。
- 在 Google Play 中创建新的编辑事务。
- 正在上传 APK
- 正在上传 mapping.txt 文件
- 在 Google Play 中提交编辑事务。
我们有一个上传mapping.txt文件的函数(使用Method: edits.deobfuscationfiles.upload):
/**
* Uploads a deobfuscation file (mapping.txt) for a given package
* Assumes authorized
* @param {string} mappingFilePath the path to the file to upload
* @param {string} packageName unique android package name (com.android.etc)
* @param apkVersionCode version code of uploaded APK
* @returns {Promise} deobfuscationFiles A promise that will return result from uploading a deobfuscation file
* { deobfuscationFile: { symbolType: string } }
*/
export async function uploadDeobfuscation(edits: any,mappingFilePath: string,packageName: string,apkVersionCode: number): Promise<void> {
const requestParameters = {
deobfuscationFileType: 'proguard',packageName: packageName,apkVersionCode: apkVersionCode,media: {
body: fs.createReadStream(mappingFilePath),mimeType: ''
}
};
try {
const res = (await edits.deobfuscationfiles.upload(requestParameters)).data;
} catch (e) {
throw new Error(tl.loc('CannotUploadDeobfuscationFile',mappingFilePath,e));
}
}
而且我们也有几乎相同的上传native-debug-symbols.zip的功能(唯一的区别是另一个deobfuscationFileType:nativeCode)
因此,如果我们调用一次 edits.deobfuscationfiles.upload 来上传一个反混淆文件,它可以正常工作,但是如果我们想使用单个 edits 交易,我们只能看到最后上传到 Google Play Console 的文件(App bundle explorer -> Downloads -> Assets) Case 1 Case 2
这是预期的行为吗?
此外,我还可以使用 .Net 客户端库(NuGet 包:AndroidPublisher.v3/1.51.0.2239)来重现这一点
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)