android assets 加載下劃線開頭的目錄 問題

前言:

之前同事問到我一個問題 Android的 assets 目錄下面 不能加載下劃線開頭的目錄

問題復(fù)現(xiàn)

image.png
    private static final String TAG = "-----MainActivity-----";
    private WebView contentWebView = null;

    private WebViewUpload chromeClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        contentWebView = (WebView) findViewById(R.id.webview);
        contentWebView.loadUrl("file:///android_asset/_test/test.html");
        webviewSetting(contentWebView);
        initHardwareAccelerate();
    }

這段代碼大家乍一看 沒什么問題, webview 加載本地的html 我們運(yùn)行一把

image.png

我們具體要分析打包后的apk 里面是什么情況
image.png

然后我們修改后

image.png

image.png

image.png

這邊搜了一下網(wǎng)友回答


e220ecea3507809dfec8bbe848b672e.png

所以的出結(jié)論 android studio 在編譯的時候 自動忽略了下劃線開頭的文件夾

解決方案

  • 有工程的情況下

image.png

去掉了我們的下劃線即可接

  • 沒有工程的情況下

反編譯拆包

image.png

把我們的assets 復(fù)制到我們目錄下面 然后回編譯 出包簽名測試
image.png

裝機(jī)測試
image.png

最后總結(jié):

android studio 在編譯出包的時候跟我們用apktool 命令編譯的時候是不同的有些字符開頭的文件夾自動給我們忽略了 所以資源沒有打進(jìn)包里面 導(dǎo)致我們的程序加載出錯 我們要多注意 用apktool 工具拆包多查看分析才好解決問題 最后呢 希望我都文章能幫助到各位同學(xué)工作和學(xué)習(xí) 如果你覺得文章還不錯麻煩給我三連 關(guān)注點(diǎn)贊和轉(zhuǎn)發(fā) 謝謝

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

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

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