cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Axel Nennker <ignisvul...@gmail.com>
Subject Re: plugins <framework > on Android
Date Tue, 02 Jun 2015 14:28:00 GMT
If a developer writes a plugin that adds a framework in the <platform
name="android" ..> section then the android sdk needs to be installed
anyways to build the app later, right?

But OK.

Still plugman tries to read project_dir/local.properties to get sdk.dir
which fails because local.properties does not exist
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/plugman/platforms/android.js#L36
Called from here
https://github.com/apache/cordova-lib/blob/master/cordova-lib/src/plugman/platforms/android.js#L138
where the framework is handled.

How can this ever have worked?
Couldn't Cordova tell plugman which sdk to use?

-Axel



2015-06-02 15:58 GMT+02:00 Andrew Grieve <agrieve@chromium.org>:

> We want plugman to always work, even if you don't have the android sdk
> installed. So, plugman calling "android update project" is not allowed.
>
> As of cordova-5.0, this line will be re-written by the build script to its
> Gradle equivalent, where no "android update project" call is necessary
> (this was an ANT thing)
>
> One issue we have seen with gradle though, is that people haven't installed
> the Support Repository into their SDK. We could consider having the android
> build script detect whether the requisite directories exist on the machine,
> and show an error earlier in this case.
>
> On Mon, Jun 1, 2015 at 2:40 PM, Axel Nennker <ignisvulpis@gmail.com>
> wrote:
>
> > Hi,
> >
> > the documentation here
> >
> >
> >
> https://cordova.apache.org/docs/en/4.0.0/plugin_ref_spec.md.html#Plugin%20Specification_info_element
> >
> > says that some tasks needed by <framework ...> are not done by plugman.
> >
> > <framework src="extras/android/support/v7/appcompat" custom="false">
> >
> >
> > But it seems quite easy to do this by calling this command e.g. for
> Google
> > Play Services:
> > $ android update project --path . --library
> >
> >
> /home/ignisvulpis/Android/Sdk/extras/google/google_play_services/libproject/google-play-services_lib/
> > --target android-21
> >
> > Cordova has all the information that is needed, right?!
> > Or doesn't this work in all cases?
> >
> > My latest custom plugin can not be added to my project because plugman's
> > android.js calls the property-parser which tries to determine the
> > androidSdkDir which fails because it tries to open local.properties which
> > was not created (by cordova).
> > Why doesn't plugman try ANDROID_HOME (too)?
> >
> > I think that using "android update project ..." would always work instead
> > of plugman editing project file directly.
> >
> > Axel
> >
> > ps: There are several unanswered
> > stackoverflow questions regarding Google Play Services and Cordova
> >
> >
> http://stackoverflow.com/questions/22002424/admob-with-cordova-3-and-google-play-services
> >
> >
> http://stackoverflow.com/questions/30399421/cordova-testing-google-play-game-services
> >
> >
> http://stackoverflow.com/questions/25872707/how-to-link-google-play-services-to-cordova-project
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message