Componentization refers to auroral push, and the build.gradle of each component needs to be written as manifestPlaceholders.

I structure my project through componentization, and the shell engineering app, relies on components An and B as well as the underlying library C. Auroral push is needed in the project, so I added

to the build.gradle of the base library C
compile "cn.jiguang.sdk:jpush:3.0.9"  
compile "cn.jiguang.sdk:jcore:1.1.7"  

at the same time, according to the requirements of auroral SDK,

is added to the build.gradle of the base library C.
manifestPlaceholders = [
            JPUSH_PKGNAME: "com.qsjh.test",
            JPUSH_APPKEY : "6pl2c1qloa69ad60061709md", // APPKEY
            JPUSH_CHANNEL: "developer-default", 
]

but an error is reported after compilation:

Error:Execution failed for task ":moduleA:processDebugAndroidTestManifest".
> Manifest merger failed with multiple errors, see logs

F:\addroidStudioPrjs\TestApp\moduleA\build\intermediates\manifest\tmp\manifestMerger8803862843345368556.xml Error:
Attribute meta-data-sharpPUSH_APPID@value at manifestMerger8803862843345368556.xml requires a placeholder substitution but no value for <JPUSH_APPKEY> is provided.

the same manifestPlaceholders, must be added to the build.gradle files of component An and component B, but the build.gradle of component An and component B does not depend on the aurora SDK, but on the underlying library C. Why?


using manifestPlaceholders will eventually write the configured parameters to AndroidManifest . You should rely on C in An and B, so compiling AB must also be added in gradle, otherwise it will not be found.


I have encountered the same problem today. Using a push


may require a change of thinking. Component An and component B really rely not on push, but on the content of push. Therefore, the dependence of third-party push can be placed on the app shell project. The shell is responsible for maintaining push registration, unregistering, receiving messages, and then developing a set of interfaces. The shell project forwards the pushed message to the sub-module, and the sub-module performs Filter on the message on its own, thus relieving the sub-module of its direct dependence on the third-party push package


Hello. Have you solved this problem? I have also encountered this problem


dude, how to solve your component-based auroral push? I qq934419484


the base library uses implementation broadcast receiver to write messages received in the base library and sent to the corresponding business modules via eventBus


requires a placeholder substitution but no value for < GETUI_APP_ID > is provided

friend, your error report is a tweet, not a JPush

.
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e58580-454b7.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e58580-454b7.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?