我有一些关于在我的Android应用程序中使用lgpl库的问题:
谢谢, 弗洛里安
答案 0 :(得分:1)
无论法律地位(IANAL)如何,我都无法真正看到您在技术上可以实现这一目标的情况。
据我所知,Android应用程序中使用的Java库必须同时提供给dx编译器和 apkbuilder,以便nixes#1。 dx的输入还包括已编译的aidl源,因此#2上的“是”。接下来,我相信在Android应用程序中只能有一个classes.dex文件,因此#3已经出局。不确定#4(根据Matt Wolfe的评论,这也是一个不)。希望有助于澄清事情,祝你好运......
参考: http://www.alittlemadness.com/2010/06/07/understanding-the-android-build-process/
答案 1 :(得分:1)
如果你没有用Proguard掩盖LGPL库,最终用户可以将你的apk转换为jar,解压缩jar,替换LGPL库类,重新打包jar,用用户生成的密钥签名,将jar转换为apk,然后将新apk安装到Android设备上。
droidtext project has an explanation page of this process. 这样做很困惑,所以Quinn Bailey的答案仍然更好。
编辑:我引用的wiki页面已经死了,因为droidtext项目was shutdown due to licensing issues.如果你有一个wiki页面的本地副本,我真的很感激。以下是我记得的重要步骤列表:
开发人员应编辑他们的Proguard配置文件,以便排除整个LGPL库包被遮挡。 (How to stop proguard from obfuscating entire package?)