重置设置
- 退出AndroidStudio
- 删除C:\Users\用户名\AppData\Roaming\Google\AndroidStudioxxxx和C:\Users\用户名.android两个文件夹
- 重新打开AS后配置
Gradle的镜像源
- 阿里的Maven镜像源地址仓库服务
- mavenLocal()是Gradle中代表本地Maven仓库的Repository Alias
- https://repo1.maven.org/maven2
查询版本
通过设置group、artifact可以查询仓库中是否包含所需版本
mavenLocal()
maven { url 'https://maven.aliyun.com/repository/apache-snapshots'}
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/spring' }
maven { url 'https://maven.aliyun.com/repository/spring-plugin' }
maven { url 'https://maven.aliyun.com/repository/grails-core' }
maven { url 'https://maven.aliyun.com/repository/mapr-public' }
配置Gradle混淆
android {
defaultConfig {
consumerProguardFiles 'proguard-unity.txt', 'proguard-user.txt'
}
aaptOptions {
noCompress = ['.unity3d','.ress', '.resource', '.obb' , '.dat'] + unityStreamingAssets.tokenize(', ')
ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt')
jniDebuggable true
signingConfig signingConfigs.release
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt')
jniDebuggable true
signingConfig signingConfigs.release
}
}
}
- minifyEnabled:用于开启/关闭代码混淆
- consumerProguardFiles:指定的Proguard规则文件将应用于项目依赖的库的代码混淆
- proguardFiles:指定的Proguard规则文件将应用于项目本身的代码混淆
自定义的混淆规则文件:proguard-user.txt
-keep class bitter.jnibridge.* { *; }
-keep class com.unity3d.player.* { *; }
-keep interface com.unity3d.player.IUnityPlayerLifecycleEvents { *; }
-keep class org.fmod.* { *; }
-keep class com.google.androidgamesdk.ChoreographerCallback { *; }
-keep class com.google.androidgamesdk.SwappyDisplayManager { *; }
-ignorewarnings
定义依赖库
- implementation fileTree(dir: ‘libs’, include: [‘.jar’, ‘.aar’]) :引用本地libs目录中的jar和aar文件
- implementation(name: ‘tradplus_unity_plugin’, ext:’aar’):引用工程中名为tradplus_unity_plugin,后缀为aar的文件
- implementation ‘com.google.android.ads.consent:consent-library:1.0.6’:从Maven仓库下载文件
修复中文输出为乱码的问题
在Help->Edit Custom VM Options 中添加-Dfile.encoding=UTF-8
,重启。
-Dfile.encoding=UTF-8
表示虚拟机启动的时候以UTF-8字符集编码来解析我们的class字节码文件。