zoukankan      html  css  js  c++  java
  • 关于最近开发中遇到的问题汇总(一)

    最近软工实践的行进中都是队友在写博客,个人博客发的少了……于是把最近个人开发中遇到的问题进行了一些汇总

    新增资源无法通过编译

    • Android Studio提示以下信息

    Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher scrollbar_thumb.9.png failed, see logs

    • 解决方法
      在build.gradle中添加如下字段

    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false

    • 原理
      appt即:Android Asset Packaging Tool

    在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。也就是上面我们说的两项配置。

    aapt工具也支持很多子命令。
    aapt l[ist]:列出资源压缩包里的内容。
    aapt d[ump]:查看APK包内指定的内容。
    aapt p[ackage]:打包生成资源压缩包。
    aapt r[emove]:从压缩包中删除指定文件。
    aapt a[dd]:向压缩包中添加指定文件。
    aapt v[ersion]:打印aapt的版本。

    示例:

    aapt -A <附件资源路径> -S <资源路径> -M <Android应用清单文件> -I <额外添加的包> And -F 目标文件路径

    出现以上情况可能是因为aapt被关闭,无法生成R.java中的索引造成的


    • 下面小记一下aapt的用法

    1.aapt l[ist] [-v] [-a] file.{zip,jar,apk}

    List contents of Zip-compatible archive.

    1.1列出压缩文件目录

    aapt l <file_path.apk>
    参数:
    -v:会以table的形式输出目录,table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。
    其中Method表示压缩形式,有:Deflate及Stored两种,即该Zip目录采用的算法是压缩模式还是存储模式;可以看出resources.arsc、*.png采用压缩模式,而其它采用压缩模式。
    Ratio表示压缩率。CRC-32未明其意,Sodino盼指教。
    -a:会详细输出所有目录的内容。

    2.aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]

    badging Print the label and icon for the app declared in APK.
    permissions Print the permissions from the APK.
    resources Print the resource table from the APK.
    configurations Print the configurations in the APK.
    xmltree Print the compiled xmls in the given assets.
    xmlstrings Print the strings of the given compiled xml assets.

    3.1使用aapt生成R.Java

    rem 测试的工程目录下必须得有gen文件夹,否则会提示:Unable to open class file R.java:No such file or directory

    %aapt% package -f -m -J %GEN% -S %RES% -I %ANDROID_JAR% -M %ANDROID_MANIFEST_XML%

    3.2使用aapt生成资源包文件
    %aapt% package -f -M %ANDROID_MANIFEST_XML% -S %RES% -A %ASSETS% -I %ANDROID_JAR% -F %RESOURCE%

    %GEN%:存放的R.java文件夹路径。
    %RES%:res文件夹路径。
    %ANDROID_JAR%:引用的Android.jar路径。
    %ANDROID_MANIFEST_XML%:工程AndroidManifest.xml绝对路径。
    %ASSETS%:asset文件夹路径。
    %RESOURCE%:生成的resouces.arsc存放路径。

    以上用法来自:http://blog.csdn.net/g19920917/article/details/20244937


    • 再谈谈aapt
      用于设置AAPT的属性

    failOnMissingConfigEntry: Forces aapt to return an error if it fails to find an entry for a configuration.
    ignoreAssets: Pattern describing assets to be ignore.
    noCompress: Extensions of files that will not be stored compressed in the APK.
    useNewCruncher: Whether to use the new cruncher.


    关于Gradle的配置文件用法:http://www.jianshu.com/p/7e3a69dbd20e


  • 相关阅读:
    Ubuntu 20.04 不能远程连接
    CentOS 6.8 设置开机自动联网
    JSON 语法
    用友U8 | 【成本管理】用友U8卷积运算时警告提示:‘’有未记账非委外加工入库单代管挂账确认单‘’
    用友U8 | 【总账】总账结账时,对账不平
    用友U8 | 【应收款管理】取消核销操作
    用友U8 | 【总账】账簿明细账打印,选择科目打印,页数范围超过了430页,之后的内容都显示不出来
    用友U8 | 【存货核算】存货模块删除凭证时提示:当前凭证已经有实时核销处理,不能被作废(或删除)!
    用友U8 | 【存货核算】存货核算模块,凭证处理,查询凭证时,会计年度选择不到2021年度
    用友U8 | 【总账】科目辅助总账与科目辅助明细账数据不一样
  • 原文地址:https://www.cnblogs.com/csming1995/p/6159290.html
Copyright © 2011-2022 走看看