yes basically

INSTALL( PROGRAMS .... ) keeps file permissions instead of INSTALL( FILES
... ) which loses file permisisons

You don't nessiciarly have to run it by hand, can add a target that could
be built...

There is a little more work associated with release APK....

---------------

if( CMAKE_BUILD_TYPE STREQUAL "release" )
  set( MORE_COMMANDS
       COMMAND jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore ${MY_KEYSTORE} bin/${Project}-${CMAKE_BUILD_TYPE}-unsigned.apk
alias_name
       COMMAND rm -f bin/${Project}-${CMAKE_BUILD_TYPE}.apk
       COMMAND zipalign -v 4
bin/${Project}-${CMAKE_BUILD_TYPE}-unsigned.apk
bin/${Project}-${CMAKE_BUILD_TYPE}.apk
     )
endif( CMAKE_BUILD_TYPE STREQUAL "release" )

    add_custom_target( package_apk
       COMMAND android.bat update project --target "android-14" --path .
       COMMAND ant.bat ${CMAKE_BUILD_TYPE}
       ${MORE_COMMANDS}
       WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/package )


    add_custom_target( install_apk
    COMMAND echo adb install command...
                     COMMAND adb install
package/bin/${Project}-${CMAKE_BUILD_TYPE}.apk
 )

    add_custom_target( uninstall_apk
    COMMAND echo adb uninstall command...
                     COMMAND adb uninstall org.d3x0r.${Project}
 )





On Thu, May 8, 2014 at 6:43 AM, Robert Dailey <rcdailey.li...@gmail.com>wrote:

> So basically I am thinking of doing this:
>
> 1. Build my NDK libraries using the android cmake toolchain file as if
> I'm just building normal C++ libraries on Linux with the CMake
> provided makefiles in the binary output directory.
> 2. Create a Java project using the 'android create project' tool and
> check that into version control. The 'libs' directory will be empty.
> 3. When building the NDK libraries, "install" them to the
> corresponding libs directory for that java project (I may need to
> install the same library multiple times if multiple java projects
> depend on it).
> 4. Run 'ant' by hand to build the java project.
>
> Likewise I think I can import all projects into eclipse: Import the
> cmake build directory, and then each project in the source tree for
> the java side. That way I can work with it all together in the same
> IDE.
>
> Does this sound feasible or am I missing steps?
>
> On Wed, May 7, 2014 at 10:10 PM, J Decker <d3c...@gmail.com> wrote:
> > by putting them in a directory <lib/<cputype>
> >
> >
> >
> > On Wed, May 7, 2014 at 5:19 PM, Robert Dailey <rcdailey.li...@gmail.com>
> > wrote:
> >>
> >> How do I tell my android Java project where the *.so files are so it
> >> can package them into the APK for dynamic loading when I call
> >> System.loadlibrary() on the SO files?
> >>
> >> On Tue, May 6, 2014 at 6:59 PM, Eric Wing <ewmail...@gmail.com> wrote:
> >> > So I have 4 examples I actually tried to document.
> >> > These all use my fork/derivative of the Android-CMake toolchain, which
> >> > I believe comes from OpenCV. (It had grown stale with later NDKs and I
> >> > hit problems). All of these rely heavily on the external NDK module
> >> > system (NDK_MODULE_PATH).
> >> >
> >> > The first and easiest (most self contained) is:
> >> > https://bitbucket.org/ewing/hello-android-almixer
> >> > This one invokes ant via shell scripts outside CMake.
> >> >
> >> > I then recently got SDL building with CMake using the same techniques.
> >> > https://bitbucket.org/ewing/sdl_android_cleanup
> >> > This one doesn't invoke ant because it builds only a library. There
> >> > was actually an intermediate project I helped build after ALmixer that
> >> > this also drew from, JavaScriptCore, and I documented my procedure
> >> > here:
> >> >
> >> >
> https://github.com/appcelerator/hyperloop/wiki/Building-JavaScriptCore-for-Android
> >> >
> >> >
> >> > Once you have SDL built, and you set your NDK_MODULE_PATH directly, I
> >> > have an Ant example and Gradle example. The ant one is just like
> >> > Hello-Android-ALmixer.
> >> > https://bitbucket.org/ewing/helloandroidsdl-ant
> >> > https://bitbucket.org/ewing/helloandroidsdl-gradle
> >> >
> >> > The Gradle one is a lot of hacks. Google is ditching Ant/Eclipse for
> >> > Gradle/IntelliJ, but their NDK support is even worse in the latter
> >> > right now.
> >> >
> >> > Again, once you leave the NDK, all these things live outside CMake. I
> >> > think it would be interesting to make CMake handle all of this, but I
> >> > can't visualize it yet. But I hope others might be able to build on my
> >> > work, like how I've built on Android-CMake.
> >> >
> >> > An aside, I noticed Gradle is painfully slow. Depending on how one
> >> > does CMake integration, I'm not sure I want it. Just to invoke it and
> >> > for it to figure out no real work needs to be done is measured in
> >> > seconds for me.
> >> >
> >> >
> >> > Thanks,
> >> > Eric
> >> >
> >> >
> >> >
> >> > On 5/6/14, J Decker <d3c...@gmail.com> wrote:
> >> >> This is a page on building to android; mostly it's about my library,
> >> >> but
> >> >> names can be replaced where required
> >> >>
> >> >>
> https://code.google.com/p/c-system-abstraction-component-gui/wiki/BuildingForAndroid
> >> >>
> >> >> I went wit the separate cmake projects because I end up with multiple
> >> >> android projects from the same libraries; but really it could be
> >> >> appended
> >> >> all-together
> >> >>
> >> >>
> >> >> On Tue, May 6, 2014 at 2:32 PM, Robert Dailey
> >> >> <rcdailey.li...@gmail.com>wrote:
> >> >>
> >> >>> Well to be clear, the NDK libraries are compiled in eclipse after I
> >> >>> generate eclipse makefiles in CMake. Ideally, I want the CMake
> script
> >> >>> to also configure "ant" execution so that it builds java and links
> in
> >> >>> the NDK libraries. You say "just use the libraries", but I'm not
> sure
> >> >>> what this looks like as far as CMake script is concerned.
> >> >>>
> >> >>> Also I think we're using the android glue stuff in our existing
> >> >>> project, but I'm not really sure what android glue is or if it is
> >> >>> relevant to the CMake setup.
> >> >>>
> >> >>> On Tue, May 6, 2014 at 2:45 PM, J Decker <d3c...@gmail.com> wrote:
> >> >>> > If you've built the sources into libs, you can just use the lib;
> my
> >> >>> sources
> >> >>> > are much too complex of a tree for ndk to support to build as
> >> >>> > sources..
> >> >>> >
> >> >>> > The java sources are compiled at the 'ant <debug/release' step...
> >> >>> > there
> >> >>> is a
> >> >>> > step before that I do that is 'android.bat update project --target
> >> >>> > "android-14" --path' which makes a few other files from the
> >> >>> > build.xml.
> >> >>> >
> >> >>> >
> >> >>> > On Tue, May 6, 2014 at 8:42 AM, Robert Dailey
> >> >>> > <rcdailey.li...@gmail.com>
> >> >>> > wrote:
> >> >>> >>
> >> >>> >> There is also the question of how to handle the NDK sources and
> >> >>> >> integrate them into the eclipse workspace. For example, I believe
> >> >>> >> NDK
> >> >>> >> sources must be under the 'jni' directory, but they won't be
> >> >>> >> structured that way in the source tree. So I'm not sure if the
> jni
> >> >>> >> directory is required. I realize there's some reference material
> >> >>> >> out
> >> >>> >> there but I'm not sure what to pay attention to. Would be nice to
> >> >>> >> get
> >> >>> >> some overview steps that I can read along with the reference
> >> >>> >> material
> >> >>> >> so I know the order in which to look at things, essentially.
> >> >>> >>
> >> >>> >> On Tue, May 6, 2014 at 10:32 AM, Bill Hoffman
> >> >>> >> <bill.hoff...@kitware.com
> >> >>> >
> >> >>> >> wrote:
> >> >>> >> > You can look at what we did for VES:
> >> >>> >> > http://www.kitware.com/blog/home/post/642
> >> >>> >> >
> >> >>> >> >
> >> >>> >> > -Bill
> >> >>> >> >
> >> >>> >> >
> >> >>> >> >
> >> >>> >> > --
> >> >>> >> >
> >> >>> >> > Powered by www.kitware.com
> >> >>> >> >
> >> >>> >> > Please keep messages on-topic and check the CMake FAQ at:
> >> >>> >> > http://www.cmake.org/Wiki/CMake_FAQ
> >> >>> >> >
> >> >>> >> > Kitware offers various services to support the CMake community.
> >> >>> >> > For
> >> >>> more
> >> >>> >> > information on each offering, please visit:
> >> >>> >> >
> >> >>> >> > CMake Support: http://cmake.org/cmake/help/support.html
> >> >>> >> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
> >> >>> >> > CMake Training Courses:
> http://cmake.org/cmake/help/training.html
> >> >>> >> >
> >> >>> >> > Visit other Kitware open-source projects at
> >> >>> >> > http://www.kitware.com/opensource/opensource.html
> >> >>> >> >
> >> >>> >> > Follow this link to subscribe/unsubscribe:
> >> >>> >> > http://www.cmake.org/mailman/listinfo/cmake
> >> >>> >> --
> >> >>> >>
> >> >>> >> Powered by www.kitware.com
> >> >>> >>
> >> >>> >> Please keep messages on-topic and check the CMake FAQ at:
> >> >>> >> http://www.cmake.org/Wiki/CMake_FAQ
> >> >>> >>
> >> >>> >> Kitware offers various services to support the CMake community.
> For
> >> >>> >> more
> >> >>> >> information on each offering, please visit:
> >> >>> >>
> >> >>> >> CMake Support: http://cmake.org/cmake/help/support.html
> >> >>> >> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> >> >>> >> CMake Training Courses:
> http://cmake.org/cmake/help/training.html
> >> >>> >>
> >> >>> >> Visit other Kitware open-source projects at
> >> >>> >> http://www.kitware.com/opensource/opensource.html
> >> >>> >>
> >> >>> >> Follow this link to subscribe/unsubscribe:
> >> >>> >> http://www.cmake.org/mailman/listinfo/cmake
> >> >>> >
> >> >>> >
> >> >>>
> >> >>
> >> >
> >> >
> >> > --
> >> > Beginning iPhone Games Development
> >> > http://playcontrol.net/iphonegamebook/
> >> > --
> >> >
> >> > Powered by www.kitware.com
> >> >
> >> > Please keep messages on-topic and check the CMake FAQ at:
> >> > http://www.cmake.org/Wiki/CMake_FAQ
> >> >
> >> > Kitware offers various services to support the CMake community. For
> more
> >> > information on each offering, please visit:
> >> >
> >> > CMake Support: http://cmake.org/cmake/help/support.html
> >> > CMake Consulting: http://cmake.org/cmake/help/consulting.html
> >> > CMake Training Courses: http://cmake.org/cmake/help/training.html
> >> >
> >> > Visit other Kitware open-source projects at
> >> > http://www.kitware.com/opensource/opensource.html
> >> >
> >> > Follow this link to subscribe/unsubscribe:
> >> > http://www.cmake.org/mailman/listinfo/cmake
> >> --
> >>
> >> Powered by www.kitware.com
> >>
> >> Please keep messages on-topic and check the CMake FAQ at:
> >> http://www.cmake.org/Wiki/CMake_FAQ
> >>
> >> Kitware offers various services to support the CMake community. For more
> >> information on each offering, please visit:
> >>
> >> CMake Support: http://cmake.org/cmake/help/support.html
> >> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> >> CMake Training Courses: http://cmake.org/cmake/help/training.html
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.cmake.org/mailman/listinfo/cmake
> >
> >
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to