Hello-Libs is an Android sample that demos native lib management in Android Studio.
This sample uses the new Gradle stable plugin with external lib support. it includes 2 modules:
- app -- uses one shared lib and one static lib from $project/distribution/
- gen-libs -- generates one shared and one static lib, and copy them into $project/distribution Inside android studio, when building app module, gen-libs is forced to do a rebuild, it does not have to be this way; feel free to unchain it: build gen-libs once, then only build app from then on
The key point is to inform app's CMakeLists.txt
- where lib/header are
- where lib binaries are and import them as static or shared Note: for shared lib, with android plugin 2.2.0-alpha3+, once declared as SHARED IMPORTED, Android Studio will automatically pack them into apk too! So lib just need tell Android Studio once, it will be used both on Host and on Target
- Android Studio 2.2+ with NDK bundle.
- Download Android Studio
- Launch Android Studio.
- Open the sample directory.
- Open File/Project Structure...
- Click Download or Select NDK location.
- Click Tools/Android/Sync Project with Gradle Files.
- Click Run/Run 'app'.
If you've found an error in these samples, please file an issue.
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
Copyright 2015 Google, Inc.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.