相关疑难解决方法(0)

Android Proguard SqlCipher NoClassDefFoundError

一直在和Proguard一起战斗,并在官方的Proguard网站和StackOverflow上尝试了很多示例和解决方案.

我有一个需要混淆的大型项目,它有许多引用的库项目和Jars.

我从2个libs,com.google.common和twitter4j收到来自proguard的725个警告.

如果我添加以下内容,我很乐意让项目编译:

-dontwarn com.google.common.**

-dontwarn twitter4j.**
Run Code Online (Sandbox Code Playgroud)

然而,应用程序在打开时立即崩溃,所以这似乎只是一种隐藏问题的方式,而不是修复它.

proguard-project.txt位于项目根目录中,其配置位于project.properties文件中,如下所示.

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)

这是我的proguard-project.txt文件

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-dontshrink

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keep class javax.** { *; }
-keep class org.** { *; }
-keep …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard sqlcipher

4
推荐指数
1
解决办法
3693
查看次数

尝试在Android中使用Proguard和SQLcipher时获取NoClassDefFoundError

我正在ava.lang.NoClassDefFoundError: net/sqlcipher/CursorWindow尝试使用sqlicipher和proguard运行我的应用程序.该项目完美无需启用proguard.我第一次使用sqlcipher创建一个新的db我得到上面的错误.我看过另一个看似相同的问题,但我已经尝试了这个问题的答案,我仍然得到了错误.

Android Proguard SqlCipher NoClassDefFoundError

这是我的全部内容proguard-properties:

-libraryjars libs/commons-codec.jar
-libraryjars libs/guava-r09.jar
-libraryjars libs/httpmime-4.1.2.jar
-libraryjars libs/jsr305-2.0.2.jar
-libraryjars libs/libphonenumber-5.7.jar
-libraryjars libs/sqlcipher.jar
-keep class com.myandroidapp.** { *; }


-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-dontobfuscate
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application

-dontwarn javax.annotation.**

-dontwarn android.app.**
-dontwarn android.support.**
-dontwarn android.view.**
-dontwarn android.widget.**

-dontwarn com.google.common.primitives.**

-dontwarn **CompatHoneycomb
-dontwarn **CompatHoneycombMR2
-dontwarn **CompatCreatorHoneycombMR2

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * { …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard sqlcipher android-sqlite

3
推荐指数
2
解决办法
2969
查看次数