記錄Android Studio的坑

AAPT2 error: check logs for details

studio 2的項目使用3打開基本就會遇到這個問題

日志如下:

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沒有這兩個屬性。這是個老項目,在2.3是可以用的。

這兩個屬相調(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)入時的動畫 -->
        <item name="@android:windowEnterAnimation">@anim/sheet_dialog_enter</item>
        <!-- 退出時的動畫 -->
        <item name="@android:windowExitAnimation">@anim/sheet_dialog_exit</item>
    </style>

解決辦法:

去掉@符,修改為

 <style name="sheet_dialog_anim" parent="@android:style/Animation.Dialog">
        <!-- 進(jìn)入時的動畫 -->
        <item name="android:windowEnterAnimation">@anim/sheet_dialog_enter</item>
        <!-- 退出時的動畫 -->
        <item name="android:windowExitAnimation">@anim/sheet_dialog_exit</item>
    </style>

cannot access xxx

網(wǎng)上有人說這是idea的bug,重啟一下就好了。

我這里的情況是繼承了一個庫里的抽象類。這個抽象類有繼承了另一個庫的的類。

image

我試了重啟并沒有解決問題。最后猜想應(yīng)該是和依賴方式有關(guān)。

嘗試將庫的引用從compile改成了api,解決問題(將我引用的庫引用其他的庫的方式改成api,并不是修改app庫的方式)。關(guān)于引用的方式可以看看這里Android Studio3.0之前的6種依賴方式和3.0之后新增的兩種依賴方式

JKS 密鑰庫使用專用格式

image

JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore XXX -destkeystore XXX -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。

這里雖然報錯了關(guān)閉窗口之后還是會生成key文件,但是似乎不能用。

這個問題我也沒找到好的辦法,只能按照提示執(zhí)行一遍命令

keytool -importkeystore -srckeystore key.jks -destkeystore key.jks -deststoretype pkcs12
image

會生成一個新的key文件,舊的key會被重命名備份。以后使用新的key就可以。

多渠道打包

以前我都是直接在項目下面的 build.gradle中添加

    productFlavors {
        anzhi {}
        baidu {}
        xiaomi {}
        qihu360 {}
        huawei {}
        oppo {}
        yingyongbao {}
        wandoujia {}
        vivo {}
        sougou {}
        meizu {}
        chexixi {}
    }

之后再打包的時候可以選擇debug和release。全選需要的渠道就可以打出來。然后更新到3之后打包的頁面變成了這樣

image

不在區(qū)分debug和release。這樣就很難受。最后我選擇了使用360加固多渠道打包(是時候?qū)W習(xí)多渠道打包了)

相關(guān)資料:

Android Studio3.0之前的6種依賴方式和3.0之后新增的兩種依賴方式

AS升級3.0依賴方式的改變,implement、api 和compile區(qū)別

Android Studio3.0更新之路(遇坑必入)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Project的build.gradle文件: 對應(yīng)的build.gradle代碼如下: buildscrip...
    RubinZuo閱讀 76,049評論 21 415
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 https://blog.csdn.net/zhaoyanj...
    勤奮的pangdunhu閱讀 2,230評論 0 1
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項,請點擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,356評論 8 72
  • 很久之前,至少在沒有認(rèn)識你之前,我并不是一個喜歡聽歌的人。更不會在深夜里,戴著耳機聽歌入睡。 你說...
    也夏閱讀 388評論 0 2
  • 嘗試上色,本想藍(lán)色葉子,但上了綠色打底后,感覺就是要輕盈是綠色,現(xiàn)在上色不勻吶,后面慢慢改……晚上拍照不好看,完工...
    夢海蓉閱讀 521評論 0 1

友情鏈接更多精彩內(nèi)容