Gradle语法(使用编译器AndroidStudio)

1、$符号是个全局变量的引用,例如:"$ApplicationId"就是引用先设置的ApplicaionId配置

2、要用aar文件,要在android{}上加

repositories {
        flatDir {
            dirs 'libs'
        }
    }

然后再加上implementation(name: 'gowan_commonsdk_gowan-release', ext: 'aar')

3、Android Studio 报Error: Program type already present: **.BuildConfig(常出,暂时两种解决方法)

defaultConfig {
        。。。。。。
        multiDexEnabled true
    。。。。。。。。。。
    }

或者Clean一下项目就好

4、当代码全乱得时候,变得外面打开和里面编译器打开不同,重装as即可。

5、当发现gradle一直build失败的时候又看不到哪里错误,直接找到那个错误的task,然后手动gradle跑一下就可以看到错误

6、gradle在AS上面是作为插件独立版本。自己下载的gradle是整个gradle的版本

7、当AS的logcat没得显示设备等其他可控按钮,按一下AS右下角的event log就可以恢复了

8、多渠道打包的时候可以选择使用productFlavors,需要动态切换依赖库的时候可以在dependencies里面vivoImplementation project(path:':huayang_channel_vivo'),平常单个依赖的时候是小写开头的implementation project

9、gradle的Task,在方法外写上TaskA.dependsOn(TaskB) 表示跑TaskA之前会先跑TaskB。在方法外写上TaskA.finalizedBy(TaskB) 表示跑TaskA之后跑TaskB。方法识别像python要写在代码文件的下部分下面才会识别到

10、Rejecting re-init on previously-failed class 的问题,有个原因:是用ecplise打出来的jar打进包后,若要使用反编译修改包内相应的代码,此时如果用AndroidStudio修改完代码打出jar包再用工具换成smali放进包内用apktool重编译,修改的类就可能会出现previously-failed的报错。用回ecplise修改完代码打jar包在弄就好了,理论是跟编译版本有关系。

11、androidstudio用build variant贼好用,无缝换渠道包

12、用到buildConfigField的时候,发现怎么刷新gradle都不会生效产生出对应的值的时候,只需要去Build-Clean Project一下就有了。(buildConfigField用途:在gradle多渠道配置的值可以在java中体现,切换闪屏等作用途)

13、应用新的项目的时候发现com.android.application not found,不能直接使用新项目的时候,在最外层的build.gradle加上

buildscript {

    repositories {
//        google()
        jcenter()
        google()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

}
allprojects {
    repositories {
        google()
        jcenter()

    }
}

14、在run工程到真机的时候出现 Error while Launching activity,是因为真机的手机分身也装了这个应用,要渠道手机分身中删除才可以继续run

15、编译器运行项目正常的时候,apktool打包缺发现打开找不类的情况,有可能是因为65535的问题

16、使用productFlavors的时候,如果用在src/main/jniLibsjni的so库编译的时候不会加进去一起编译的,这个需要放在libs里面一起就可以

17、需要自己写些java脚本打jar,指定入口

jar {
    manifest {
        attributes 'Main-Class': 'com.gowan.packagetool.controller.Main'
    }
}

18、aapt.v2.Aapt2Exception: Android resource linking failed

编译的时候提示这个很多时候纯粹是说找不到资源,使用的资源版本不一样当然找不到的,在build.gradle里面改一下

compileSdkVersion 28 buildToolsVersion "28.0.3" 对应版本就好了,一边低就不行了

19、包名不能以数字开头,.57k就打不了包了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值