使用ANT的AndroidManifest中的Android Facebook App ID会导致错误

时间:2014-08-14 10:11:39

标签: android facebook ant build.xml

只需阅读这个问题(Android facebook applicationId cannot be null),我真的希望它也能解决我的问题。

但是,我正在使用ANT并在build.xml中添加了App ID。 构建运行良好,日志不会显示任何奇怪的东西。我看到以某种方式在Manifest中添加App ID会让Android认为它是一个Integer,而它实际上应该是一个String。无论我尝试什么,我仍然得到相同的错误,应用程序不断崩溃。

applicationId cannot be null

我在指定应用程序ID时试图转义它,如下所示:

<property
    name="fb_app_id_a"
    value="\ XXXXXXXXXXXX" />

但它导致了同样的错误。所以我试着变得聪明并且稍后添加了逃避,但无济于事:

<replaceregexp
        file="AndroidManifest.xml"
        flags="g"
        match="android:value=&quot;@string/app_id&quot;"
        replace="android:value=&quot;\ ${fb_app_id_a}&quot;" />

我尝试用build.xml替换传统的实现,因为我们必须使用多个app ID。虽然我运行的构建日志看起来很好,但是由于这个问题,它仍然让我很难完成构建自动化。我做错了什么,或者我应该采取不同的做法?

是否有人有构建自动化的经验以及Facebook使用多个应用ID?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我用来更改清单文件中的某些值的是:

<replaceregexp file="AndroidManifest.xml" match='android:label=".*"'
replace='android:label="my new value"'/>

有了这个,我将改变android:label =&#34;一些价值&#34;到android:label =&#34;我的新值&#34;

我猜你的情况会是:

<property name="fb_app_id_a" value="some value" />

<replaceregexp file="AndroidManifest.xml" match='property name="fb_app_id_a" value=".*"'
replace='property name="fb_app_id_a" value="your new value"'/>

另外,要解封apk并看到AndroidManifest.xml对我有很多帮助