Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么proguard处理AndroidManifest.xml_Java_Android_Optimization_Broadcastreceiver_Proguard - Fatal编程技术网

Java 为什么proguard处理AndroidManifest.xml

Java 为什么proguard处理AndroidManifest.xml,java,android,optimization,broadcastreceiver,proguard,Java,Android,Optimization,Broadcastreceiver,Proguard,我看到一些无法解释的超前行为 AFAIK proguard并不关注android清单。另外,在我的proguard.cfg中,我没有提到与BroadcastReceiver相关的类。所以我认为这些应该去掉 但是我在bin/proguard.txt中看到了一些奇怪的东西: # view AndroidManifest.xml #generated:784 -keep class com.fiksu.asotracking.InstallTracking { <init>(...); }

我看到一些无法解释的超前行为

AFAIK proguard并不关注android清单。另外,在我的proguard.cfg中,我没有提到与BroadcastReceiver相关的类。所以我认为这些应该去掉

但是我在bin/proguard.txt中看到了一些奇怪的东西:

# view AndroidManifest.xml #generated:784
-keep class com.fiksu.asotracking.InstallTracking { <init>(...); }
若在清单中并没有提到类,那个么它将被剥离


如果知道原因,那就太好了。

构建过程运行工具
aapt
,根据
AndroidManifest.xml
和其他xml文件自动创建配置文件
bin/proguard.txt
。然后,构建过程将配置文件传递给ProGuard。所以PROGORD本身确实不考虑<代码> ANDROIDMANDS.XML<代码>,但是AAPT+PROGORKER做到了。

您检查过代码>/Toes/PuoGue/PooServices安卓。TXT < /代码>。它通常包含防止Proguard完全破坏您的应用程序的声明。是的,据我所知,它不包含任何与BroadcastReceivers或manifest相关的内容,sdk定义通常包含以下内容:
-keep public class*扩展了android.content.BroadcastReceiver
,以防止接收器损坏。谢谢,Eric!这是否也意味着我们不再需要为广播接收器、服务等手动添加“keep”指令?@Stipa是正确的。SDK内的默认配置应提供所有通用设置,aapt应创建所有特定于应用程序的配置(特定于应用程序的反射除外)。
[proguard] com.fiksu.asotracking.InstallTracking
[proguard]   is kept by a directive in the configuration.