AAPT2 error: check logs for details
studio 2的項(xiàng)目使用3打開基本就會遇到這個(gè)問題
日志如下:
AGPBI: {"kind":"error","text":"error: style attribute \u0027@android:attr/windowEnterAnimation\u0027 not found.","sources":[{"file":"/Users/yeqiu/WorkSpace/AndroidProject/yeqiu/demo/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml","position":{"startLine":3548}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"error: style attribute \u0027@android:attr/windowExitAnimation\u0027 not found.","sources":[{"file":"/Users/yeqiu/WorkSpace/AndroidProject/yeqiu/demo/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml","position":{"startLine":3550}}],"original":"","tool":"AAPT"}
看起來是windowEnterAnimation和windowExitAnimation沒有這兩個(gè)屬性垦沉。這是個(gè)老項(xiàng)目窘疮,在2.3是可以用的。
這兩個(gè)屬相調(diào)用的地方
<style name="sheet_dialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@style/sheet_dialog_anim</item>
</style>
<style name="sheet_dialog_anim" parent="@android:style/Animation.Dialog">
<!-- 進(jìn)入時(shí)的動(dòng)畫 -->
<item name="@android:windowEnterAnimation">@anim/sheet_dialog_enter</item>
<!-- 退出時(shí)的動(dòng)畫 -->
<item name="@android:windowExitAnimation">@anim/sheet_dialog_exit</item>
</style>
解決辦法:
去掉@符,修改為
<style name="sheet_dialog_anim" parent="@android:style/Animation.Dialog">
<!-- 進(jìn)入時(shí)的動(dòng)畫 -->
<item name="android:windowEnterAnimation">@anim/sheet_dialog_enter</item>
<!-- 退出時(shí)的動(dòng)畫 -->
<item name="android:windowExitAnimation">@anim/sheet_dialog_exit</item>
</style>
cannot access xxx
網(wǎng)上有人說這是idea的bug棒仍,重啟一下就好了赚导。
我這里的情況是繼承了一個(gè)庫里的抽象類川蒙。這個(gè)抽象類有繼承了另一個(gè)庫的的類庙睡。
我試了重啟并沒有解決問題。最后猜想應(yīng)該是和依賴方式有關(guān)揪漩。
嘗試將庫的引用從compile改成了api旋恼,解決問題(將我引用的庫引用其他的庫的方式改成api,并不是修改app庫的方式)奄容。關(guān)于引用的方式可以看看這里Android Studio3.0之前的6種依賴方式和3.0之后新增的兩種依賴方式
JKS 密鑰庫使用專用格式
JKS 密鑰庫使用專用格式冰更。建議使用 "keytool -importkeystore -srckeystore XXX -destkeystore XXX -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。
這里雖然報(bào)錯(cuò)了關(guān)閉窗口之后還是會生成key文件昂勒,但是似乎不能用蜀细。
這個(gè)問題我也沒找到好的辦法,只能按照提示執(zhí)行一遍命令
keytool -importkeystore -srckeystore key.jks -destkeystore key.jks -deststoretype pkcs12
會生成一個(gè)新的key文件戈盈,舊的key會被重命名備份奠衔。以后使用新的key就可以。
多渠道打包
以前我都是直接在項(xiàng)目下面的 build.gradle中添加
productFlavors {
anzhi {}
baidu {}
xiaomi {}
qihu360 {}
huawei {}
oppo {}
yingyongbao {}
wandoujia {}
vivo {}
sougou {}
meizu {}
chexixi {}
}
之后再打包的時(shí)候可以選擇debug和release。全選需要的渠道就可以打出來涣觉。然后更新到3之后打包的頁面變成了這樣
不在區(qū)分debug和release。這樣就很難受血柳。最后我選擇了使用360加固多渠道打包(是時(shí)候?qū)W習(xí)多渠道打包了)
相關(guān)資料:
Android Studio3.0之前的6種依賴方式和3.0之后新增的兩種依賴方式