我的项目在调试模式下编译并执行良好,但是当我尝试生成签名的apk时,会出现错误。这将显示在消息日志中:
def testColourMap(cmap):
sp = SubplotParams(left=0., bottom=0., right=1., top=1.)
fig = Figure((2.5,.2), subplotpars = sp)
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))
ax.imshow(gradient, aspect=10, cmap=cmap)
ax.set_axis_off()
canvas.draw()
size = canvas.size()
width, height = size.width(), size.height()
im = QImage(canvas.buffer_rgba(), width, height, QImage.Format_ARGB32)
return QPixmap(im)
我已尝试通过更新构建工具,使用最新的gradle版本,检查所有依赖项并仍然显示错误来解决此问题的所有可能方法。
我很确定项目中存在v4支持库,因为在调试模式下不会出现错误。
答案 0 :(得分:35)
在升级与23(Android库,SDK等)相关的所有内容时,我也遇到了这个问题。
这个程序配置为我修复了它:
-dontwarn org.apache.http.**
-dontwarn android.net.http.AndroidHttpClient
-dontwarn com.google.android.gms.**
-dontwarn com.android.volley.toolbox.**
答案 1 :(得分:9)
原来我在proguard文件中省略了getDefaultProguardFile('proguard-android.txt')
行,只是使用了proguard-rules.pro
答案 2 :(得分:4)
在progaurd中添加了这两行
$('.promoContent').hover(function () {
$(this).animate({height: '100%'});
},function(){
$(this).animate({height: '50%'});
});
它有效..
与项目中使用的库有关。
答案 3 :(得分:1)
默认的ProGuard文件已有规则忽略支持库警告。如果您没有,可以添加到您的文件
m_dbConnection = new SQLiteConnection("Data Source=\\\\192.xxx.xx.xxx:5555\\data\\data\\MyApp\\sqlite_db\\AUTOMATICTEST\\W1579_W2PR_QA_R13.db;Version=3;");
答案 4 :(得分:1)
由于与包含的.jar文件相关的错误/警告,也可能发生这种情况 签入构建输出以获取proguard警告/错误。
我遇到了与opencsv jar文件有关的问题。 Lakedaemon在上述评论中的提示帮助我解决了问题。
答案 5 :(得分:0)
我认为您的应用build.gradle buildTypes > release > minifyEnabled is true
这导致您收到此错误消息。
避免出现此错误消息,请设置buildTypes > release > minifyEnabled is false
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
答案 6 :(得分:0)
尝试查找整个错误消息。它可能包含两次包含库的信息。这是我的问题,在删除重复的包含后修复了它。
答案 7 :(得分:0)
尝试在您的proguard-rules.pro
中添加此代码:
-ignorewarnings
它解决了我的问题。