fre*_*yle 5 android proguard android-studio android-gradle-plugin android-build-type
当我将构建类型更改为发布时,我的某些类在 android studio 中显示为“找不到符号”。即使显示错误,应用程序也已成功构建并运行。当我改回调试时,这些文件被正确识别。
这是我的 build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
android {
signingConfigs {
debug {
keyAlias 'debugkey-name'
keyPassword 'dpassword'
storeFile file('debugkey.jks')
storePassword 'dspassword'
}
release {
keyAlias 'releasekey-name'
keyPassword 'rpassword'
storeFile file('releasekey.jks')
storePassword 'rspassword'
}
}
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "com.app.appname"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled true
versionCode 0
versionName "0.9.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "Appname-${variant.name}-${defaultConfig.versionName}.apk"
}
}
buildTypes {
debug {
minifyEnabled false
shrinkResources false
resValue "string", "map_box_key", "mapboxfakeKeyalksdk;lk;laksd;lkas;ldkndasdjasndkaklsjdlaksdjlaksjdkajsdlkj"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
debuggable true
jniDebuggable true
}
release {
minifyEnabled true
shrinkResources true
resValue "string", "map_box_key", "mapboxkeyfakekajsdhkajdsklajlskdjlaksjdajlskjdlkjaslkdjlkasjdlkajdlkjaslkd"
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
debuggable false
jniDebuggable false
renderscriptDebuggable false
}
}
flavorDimensions "Environment"
productFlavors {
appDemo {
resValue "string", "app_name", "AppName"
resValue "string", "url_base_address", "https://baseurl.com"
dimension "Environment"
}
appDev {
applicationIdSuffix ".dev"
resValue "string", "app_name", "Dev-AppName"
resValue "string", "url_base_address", "https://baseurl.com"
dimension "Environment"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
disable 'LogNotTimber'
}
}
android.sourceSets {
test {
java.srcDirs = ["src/main/java", "src/mock/java", "src/test/java"]
}
androidTest {
java.srcDirs = ["src/main/java", "src/mock/java", "src/androidTest/java"]
}
appDemo {
java.srcDirs = ["src/main/java", "src/real/java"]
}
appDev {
java.srcDirs = ["src/main/java", "src/real/java"]
}
}
dependencies {
//so many dependencies
}
repositories {
mavenCentral()
}
Run Code Online (Sandbox Code Playgroud)
这是我的 proguard 规则:
-keepclassmembers class
android.support.design.internal.BottomNavigationMenuView {
boolean mShiftingMode;
}
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
-keep class android.support.** { *; }
-keep interface android.support.** { *; }
Run Code Online (Sandbox Code Playgroud)
当我尝试手动导入一些文件时,我看不到一些包和类,但我可以在 android studio 中使用搜索选项(双班制)访问它们

我尝试过的事情:
当我返回调试时,问题不存在,所以问题似乎出在我的 Gradle 配置上。
请帮我找出问题所在。
Ran*_*mar -1
出于测试目的,请将您的应用程序 build.gradle 修改为不针对发布版本优化 apk。
release {
minifyEnabled false
shrinkResources false
....
..}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |