解析 android sdk proguard 编译错误
parse android sdk proguard compilation errors
好的,我知道这个问题已经回答了很多次,我看到很多 post 和各种建议,但无论我尝试什么组合,apk 都无法编译
这是我的混淆器-rules.pro 个文件
# Keep source file names, line numbers, and Parse class/method names for easier debugging
-keepattributes SourceFile,LineNumberTable
-keepnames class com.parse.** { *; }
-keep class com.parse.** { *; }
# Required for Parse
-keepattributes *Annotation*
-keepattributes Signature
-dontwarn com.squareup.**
-dontwarn okio.**
-dontwarn com.parse.**
和我的 gradle 文件
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
keyAlias 'xxxxxx'
keyPassword 'xxxxxxx'
storeFile file('/xxx/xxx/xxx/xxx/xxx/xxx.jks')
storePassword 'xxxxxxx'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "xx.xxx.xxxx"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0.0_beta1"
renderscriptTargetApi 20
renderscriptSupportModeEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':viewpagerindicator')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.bignerdranch.android:recyclerview-multiselect:+'
debugCompile 'com.parse:parseinterceptors:0.0.1'
compile 'com.parse:parsefacebookutils-v4-android:1.10.4@aar'
compile('com.facebook.android:facebook-android-sdk:4.8.0') {
exclude module: 'bolts-android'
}
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:palette-v7:23.1.1'
compile 'org.apmem.tools:layouts:1.10@aar'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.google.code.gson:gson:2.4'
compile 'jp.wasabeef:picasso-transformations:1.3.1'
}
每次我尝试通过在 android studio 中更改为发布变体来构建发布 apk,它给我的错误与解析 类 没有任何关系,例如
Error:(4, 17) error: cannot find symbol class ParseClassName
Error:(5, 17) error: cannot find symbol class ParseGeoPoint
等
我不知道还能尝试什么,有什么想法吗?谢谢你的帮助
所以我终于在这一行中发现了问题
debugCompile 'com.parse:parseinterceptors:0.0.1'
parse:parseinterceptors 仅用于开发,但出于某种原因,没有它 class 我无法导入 Parse classes,不知道为什么,一次我包括 parse:parseinterceptors 其余的 classes 可用,这回答了我的问题,但如果有人知道原因,那可以帮助我和其他人在未来
好的,我知道这个问题已经回答了很多次,我看到很多 post 和各种建议,但无论我尝试什么组合,apk 都无法编译
这是我的混淆器-rules.pro 个文件
# Keep source file names, line numbers, and Parse class/method names for easier debugging
-keepattributes SourceFile,LineNumberTable
-keepnames class com.parse.** { *; }
-keep class com.parse.** { *; }
# Required for Parse
-keepattributes *Annotation*
-keepattributes Signature
-dontwarn com.squareup.**
-dontwarn okio.**
-dontwarn com.parse.**
和我的 gradle 文件
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
keyAlias 'xxxxxx'
keyPassword 'xxxxxxx'
storeFile file('/xxx/xxx/xxx/xxx/xxx/xxx.jks')
storePassword 'xxxxxxx'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "xx.xxx.xxxx"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0.0_beta1"
renderscriptTargetApi 20
renderscriptSupportModeEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':viewpagerindicator')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.bignerdranch.android:recyclerview-multiselect:+'
debugCompile 'com.parse:parseinterceptors:0.0.1'
compile 'com.parse:parsefacebookutils-v4-android:1.10.4@aar'
compile('com.facebook.android:facebook-android-sdk:4.8.0') {
exclude module: 'bolts-android'
}
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:palette-v7:23.1.1'
compile 'org.apmem.tools:layouts:1.10@aar'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.google.code.gson:gson:2.4'
compile 'jp.wasabeef:picasso-transformations:1.3.1'
}
每次我尝试通过在 android studio 中更改为发布变体来构建发布 apk,它给我的错误与解析 类 没有任何关系,例如
Error:(4, 17) error: cannot find symbol class ParseClassName
Error:(5, 17) error: cannot find symbol class ParseGeoPoint
等 我不知道还能尝试什么,有什么想法吗?谢谢你的帮助
所以我终于在这一行中发现了问题
debugCompile 'com.parse:parseinterceptors:0.0.1'
parse:parseinterceptors 仅用于开发,但出于某种原因,没有它 class 我无法导入 Parse classes,不知道为什么,一次我包括 parse:parseinterceptors 其余的 classes 可用,这回答了我的问题,但如果有人知道原因,那可以帮助我和其他人在未来