Flutter
Hay dos tipos de herramientas de terceros, uno es un complemento Plugin
y el otro es un Package
paquete. La diferencia entre los dos es que Plugin
no solo contiene Dart
código, sino también código nativo nativo, como el que se usa comúnmenteimage_picker
Package
desarrollar
1. Crea Dart
el paquete
flutter create --template=package 'package_name'
复制代码
Abra el archivo, encontramos que no hay código nativo en él, solo hay un archivo dart en él
Tomando el WeChat anterior Index_Bar
como ejemplo, busque el archivo y cópielo aquí para resolver el error (principalmente el problema de la fuente de datos, que también se copia directamente de una manera simple y grosera). para hacer frente a los recursos de imagen? Eso sí, trata de no usar recursos de imagen si puedes usar recursos.
2. Añade recursos de imagen
new-Directory
Cree un images
archivo, luego agregue el recurso de imagen, abra el pubspecy.yaml
archivo y configure el recurso aquí
Al mismo tiempo, configure la siguiente version/homepage
información en esta página. Ahora puedes intentar publicar
3. Publicar el paquete Dart
revisa el paquete
flutter packages pub publish --dry-run
复制代码
Si aparece el siguiente mensaje, significa que no falta el archivo del paquete que actualmente está listo para publicarse y que se puede iniciar la publicación.
La publicación de complementos y paquetes requiere una cuenta de Google, así como over-the-wall y autorización, pero a veces, incluso si hacemos over-the-wall, no puede resolver el problema, porque también hemos configurado espejos relacionados, por lo que cuando publicamos complementos o paquetes, aparecerá error de espejo. Solucionar esto también es muy simple y complicado, podemos especificar el servidor a publicar, y este servidor es el servidor espejo.
flutter packages pub publish --server=https://pub.dartlang.org
复制代码
Luego aparecerá el siguiente mensaje, que es para autorizar a Google, asignar la dirección intermedia y luego abrirlo con un navegador
Estoy aquí por motivos de red, por lo que la carga no se realiza correctamente.
4.uso del paquete
Vuelva al proyecto de WeChat anterior, agregue el paquete que acaba de cargar aquí y luego pug get
haga clic en
在项目中使用的时候为了避免和其他的库冲突,可以使用as
。使用现在的package替换掉项目中indexBar的地方,运行我们发现图片没有了。打开package_demo
的framework发现加载进来的只有一个dart文件,图片之类的没有加载进来。怎么解决
5.image资源添加
非常简单,我们需要把images
这个文件夹移动到lib
文件夹之内
使用的话也非常简单,指定包名就可以。
child: Image.asset('images/bubble.png', package: 'package_demo',),
复制代码
更新版本到0.0.2``CHANGELOG.md
和pubspec.yaml
文件同步更新版本。回到微信的工程
在资源里面指定图片所在的位置的全路径,必须全路径,不可以简化!!!
6.给package添加示例程序
配置pubspec.yaml
指定路径
同时在示例程序的assets
指定package使用到的图片的路径!!! 接着把把example中的代码加入到package_demo
中,新建一个example
的文件夹,然后把package_example
中的main.dart
添加到pakage_demo
中
7.part使用
如果package中的文件比较多的话,我们可以使用part来分开。
我们在子部分标注好归属,这里是在index_bar.dart
文件里写入
part of 'package_demo.dart';
复制代码
在package_demo.dart
中写入
library package_demo;
import 'package:flutter/material.dart';
part 'index_bar.dart';
复制代码
同时一般含有example的package
包的版本必须是1.0.0+
Plugin开发
1.创建插件plugin
要创建插件包,使用--template=plugin
执行flutter create
flutter create --template=plugin 'plugin_name'
复制代码
使用--org
选项指定你的组织,并使用反向域名表示法(package不需要)
flutter create --org com.example --template=plugin 'plugin_name'
复制代码
指定语言,iOS默认是OC,安卓默认是Java, 我们可以使用-i
或者-a
来指定语言
flutter create --template=plugin -i swift -a kotlin 'plugin_name'
复制代码
También puede usar AS para crearlo directamente.Después de abrir el proyecto, puede ver que contiene códigos nativos relacionados con Android e iOS. Después de ejecutarse, el programa de muestra predeterminado es obtener el código de la versión actual del teléfono móvil getPlatformVersion
, agreguemos algunos otros códigos.
Si lo agrega directamente en iOS, generalmente no hay aviso. Podemos volver al proyecto example-ios-Runner
para escribir aquí y luego copiarlo en el siguiente archivo después de escribir.
2. Publicar
La verificación de paquetes y la especificación de versiones del servidor son lo mismo que los paquetes.