1、签名获取
在做amazon的SDK接入时,发现需要应用签名的一些信息:MD5签名和SHA256签名。用命令java的命令
keytool -list -v -keystore xxx.keystore
如果是Java版本不是1.8的话,结果缺少MD5值
这里有3种解决方案:
1、将java换成1.8版本,再次执行(如果还是没有md5,请采用后面两种方式)
2、安装jadx,然后终端执行jadx-gui,会打开一个界面,将包体拖入会解析出签名信息
3、直接在对应的as工程的命令行执行命令./gradlew signingReport。可以拿到所有的签名信息
2、应用提交amazon,安装闪退问题:
api_key.txt文件一开始用的自己的签名文件md5和SHA-256,但是提交到开发平台后会自动被该应用对应的商店证书哈希值剔除替换,这样导致api_key.txt的值非法,从而触发amazon的crash。解决办法:直接采用开发平台后上该应用对应的商店证书哈希值重新生成对应新的密钥替换api_key.txt的值,重新打包提交即可(不知道是不是必须用它的签名,哎现在只能这样做)。
3、密钥存放位置:
将密钥信息保存到一个名为api_key.txt文件中,然后将此文件放到androidStudio项目的assets文件中(注意asset文件是项目的android视图下对应的app_amazon(一般名字是app)的assets文件夹下。如果没有该文件夹,右击app_amazon创建,详见下图)。 一定要确保api_key.txt在Android视图下的对应的assets文件夹下面。
4、建议所有第三方库或者包采用固定版本
如:implementation 'com.amazon.device:amazon-appstore-sdk:3.0.4'
本次接入广告时,由于采用了版本+,出现问题,导致广告初始化失败,进而引起无法正常加载广告,后面sdk官方修复后可以了,所以建议使用稳定版本号去防止此类问题再次出现,
5、接入amazon支付时记得添加混淆处理
-dontwarn com.amazon.**
-keep class com.amazon.** {*;}
-keepattributes 注释
6、android编译错误AAPT: error: resource android:attr/lStar not found解决
此问题困扰了许久,最后google解决掉。吐槽一句:百度啥也不是!
https://www.jianshu.com/p/4933ab2f3599
所以在工程中app/build.gradle中的dependecies上面添加如下代码:
configurations.all {
resolutionStrategy {
force 'androidx.core:core:1.6.0'
force 'androidx.core:core-ktx:1.6.0'
}
}
网上几乎到这里就结束了!!!
但是如果运行crash,再次添加相应的代码,最后修改后
configurations.all {
resolutionStrategy {
force 'androidx.core:core:1.6.0'
force 'androidx.core:core-ktx:1.6.0'
eachDependency {
DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "androidx.appcompat") {
if (requested.name == "appcompat") {
details.useVersion "1.3.1"
}
}
}
}
}
7、测试人员设备收不到动态应用测试包体推送
1.先查看测试人员的设备登录的账号是否在LAT测试组内。没有的话将其添加到测试组,再次推送。
2.确定了测试组包含测试人员的账号,还是没有收到的话,继续查看测试人员的测试设备是否在本次提测的设备列表中,
8、广告有时无法加载
对应广告id和key是否正常匹配;瀑布流是否设置;确定是否只接入了一个广告平台,只有一个广告平台有时会缺失广告的,这时多接入几个广告平台;