github.com/coming-chat/gomobile@v0.0.0-20220601074111-56995f7d7aba/cmd/gomobile/doc.go (about)

     1  // Copyright 2015 The Go Authors.  All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Code generated by 'gomobile help documentation doc.go'. DO NOT EDIT.
     6  
     7  /*
     8  Gomobile is a tool for building and running mobile apps written in Go.
     9  
    10  To install:
    11  
    12  	$ go install golang.org/x/mobile/cmd/gomobile@latest
    13  	$ gomobile init
    14  
    15  At least Go 1.16 is required.
    16  For detailed instructions, see https://golang.org/wiki/Mobile.
    17  
    18  Usage:
    19  
    20  	gomobile command [arguments]
    21  
    22  Commands:
    23  
    24  	bind        build a library for Android and iOS
    25  	build       compile android APK and iOS app
    26  	clean       remove object files and cached gomobile files
    27  	init        build OpenAL for Android
    28  	install     compile android APK and install on device
    29  	version     print version
    30  
    31  Use 'gomobile help [command]' for more information about that command.
    32  
    33  # Build a library for Android and iOS
    34  
    35  Usage:
    36  
    37  	gomobile bind [-target android|ios|iossimulator|macos|maccatalyst] [-bootclasspath <path>] [-classpath <path>] [-o output] [build flags] [package]
    38  
    39  Bind generates language bindings for the package named by the import
    40  path, and compiles a library for the named target system.
    41  
    42  The -target flag takes either android (the default), or one or more
    43  comma-delimited Apple platforms (ios, iossimulator, macos, maccatalyst).
    44  
    45  For -target android, the bind command produces an AAR (Android ARchive)
    46  file that archives the precompiled Java API stub classes, the compiled
    47  shared libraries, and all asset files in the /assets subdirectory under
    48  the package directory. The output is named '<package_name>.aar' by
    49  default. This AAR file is commonly used for binary distribution of an
    50  Android library project and most Android IDEs support AAR import. For
    51  example, in Android Studio (1.2+), an AAR file can be imported using
    52  the module import wizard (File > New > New Module > Import .JAR or
    53  .AAR package), and setting it as a new dependency
    54  (File > Project Structure > Dependencies).  This requires 'javac'
    55  (version 1.7+) and Android SDK (API level 15 or newer) to build the
    56  library for Android. The environment variable ANDROID_HOME must be set
    57  to the path to Android SDK. Use the -javapkg flag to specify the Java
    58  package prefix for the generated classes.
    59  
    60  By default, -target=android builds shared libraries for all supported
    61  instruction sets (arm, arm64, 386, amd64). A subset of instruction sets
    62  can be selected by specifying target type with the architecture name. E.g.,
    63  -target=android/arm,android/386.
    64  
    65  For Apple -target platforms, gomobile must be run on an OS X machine with
    66  Xcode installed. The generated Objective-C types can be prefixed with the
    67  -prefix flag.
    68  
    69  For -target android, the -bootclasspath and -classpath flags are used to
    70  control the bootstrap classpath and the classpath for Go wrappers to Java
    71  classes.
    72  
    73  The -v flag provides verbose output, including the list of packages built.
    74  
    75  The build flags -a, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work
    76  are shared with the build command. For documentation, see 'go help build'.
    77  
    78  # Compile android APK and iOS app
    79  
    80  Usage:
    81  
    82  	gomobile build [-target android|ios|iossimulator|macos|maccatalyst] [-o output] [-bundleid bundleID] [build flags] [package]
    83  
    84  Build compiles and encodes the app named by the import path.
    85  
    86  The named package must define a main function.
    87  
    88  The -target flag takes either android (the default), or one or more
    89  comma-delimited Apple platforms (ios, iossimulator, macos, maccatalyst).
    90  
    91  For -target android, if an AndroidManifest.xml is defined in the
    92  package directory, it is added to the APK output. Otherwise, a default
    93  manifest is generated. By default, this builds a fat APK for all supported
    94  instruction sets (arm, 386, amd64, arm64). A subset of instruction sets can
    95  be selected by specifying target type with the architecture name. E.g.
    96  -target=android/arm,android/386.
    97  
    98  For Apple -target platforms, gomobile must be run on an OS X machine with
    99  Xcode installed.
   100  
   101  By default, -target ios will generate an XCFramework for both ios
   102  and iossimulator. Multiple Apple targets can be specified, creating a "fat"
   103  XCFramework with each slice. To generate a fat XCFramework that supports
   104  iOS, macOS, and macCatalyst for all supportec architectures (amd64 and arm64),
   105  specify -target ios,macos,maccatalyst. A subset of instruction sets can be
   106  selectged by specifying the platform with an architecture name. E.g.
   107  -target=ios/arm64,maccatalyst/arm64.
   108  
   109  If the package directory contains an assets subdirectory, its contents
   110  are copied into the output.
   111  
   112  Flag -iosversion sets the minimal version of the iOS SDK to compile against.
   113  The default version is 13.0.
   114  
   115  Flag -androidapi sets the Android API version to compile against.
   116  The default and minimum is 15.
   117  
   118  The -bundleid flag is required for -target ios and sets the bundle ID to use
   119  with the app.
   120  
   121  The -o flag specifies the output file name. If not specified, the
   122  output file name depends on the package built.
   123  
   124  The -v flag provides verbose output, including the list of packages built.
   125  
   126  The build flags -a, -i, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work are
   127  shared with the build command. For documentation, see 'go help build'.
   128  
   129  # Remove object files and cached gomobile files
   130  
   131  Usage:
   132  
   133  	gomobile clean
   134  
   135  # Clean removes object files and cached NDK files downloaded by gomobile init
   136  
   137  Build OpenAL for Android
   138  
   139  Usage:
   140  
   141  	gomobile init [-openal dir]
   142  
   143  If a OpenAL source directory is specified with -openal, init will
   144  build an Android version of OpenAL for use with gomobile build
   145  and gomobile install.
   146  
   147  # Compile android APK and install on device
   148  
   149  Usage:
   150  
   151  	gomobile install [-target android] [build flags] [package]
   152  
   153  Install compiles and installs the app named by the import path on the
   154  attached mobile device.
   155  
   156  Only -target android is supported. The 'adb' tool must be on the PATH.
   157  
   158  The build flags -a, -i, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work are
   159  shared with the build command.
   160  For documentation, see 'go help build'.
   161  
   162  # Print version
   163  
   164  Usage:
   165  
   166  	gomobile version
   167  
   168  Version prints versions of the gomobile binary and tools
   169  */
   170  package main // import "golang.org/x/mobile/cmd/gomobile"