
Aparentemente o local das DLLs mudou na versão 2019.+ da Unity.
Importem apenas a dll Mono.Data.Sqlite.dll, a outra não é necessária.
LOCAL:
C:\Program Files\Unity\Hub\Editor\2019.4.0f1\Editor\Data\MonoBleedingEdge\lib\mono\unityjit
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := sqlite3
LOCAL_SRC_FILES := sqlite3.c
include $(BUILD_SHARED_LIBRARY)
Local padrão das DLLs em Unity até v2019.2:
C:\Program Files\Unity\Hub\Editor\2019.2.9f1\Editor\Data\Mono\lib\mono\2.0
#########################################################################
UPDATE:
Local padrão das DLLs na versão Unity 2019.3+
Copiar somente Mono.Data.Sqlite.dll
C:\Program Files\Unity\Hub\Editor\2020.1.0b5\Editor\Data\MonoBleedingEdge\lib\mono\unityjit
#########################################################################
Colar em:
Assets/Plugins/SQLite
Corrijam na classe GamesCodeDataSource:
protected new void Awake()
{
//FIX: Inicialização dos DAOs com a Instance (I maiúsculo para acessar a propriedade get)
CharacterDAO = new CharacterDAO(Instance);
WeaponDAO = new WeaponDAO(Instance);
//END FIX
this.databaseName = "GamesCode.db";
this.copyDatabase = true;
try
{
Debug.Log("this.databaseName :" + this.databaseName);
base.Awake();
}
catch (Exception ex)
{
Debug.LogError($"Database not created! {ex.Message}");
}
}
E garanta que existe o construtor em cada DAO:
public class CharacterDAO : ICharacterDAO
{
public ISQLiteConnectionProvider ConnectionProvider { get; protected set; }
public CharacterDAO(ISQLiteConnectionProvider connectionProvider) => ConnectionProvider = connectionProvider;
//....}
O quê é ensinado?
Nesse curso, você aprenderá a usar SQLite de forma multiplataforma em Unity e C#, com incrível reaproveitamento de código entre diversas plataformas: Windows, UWP, Linux, MacOS, Android e iOS!
Como será feito?
Você também aprenderá a criar seu próprio framework de acesso a dados com base no Design Pattern DAO (Data Access Object) que permite separar as responsabilidades das classes de acesso ao banco das classes com tarefas pertinentes ao jogo.
Claro, também veremos o uso de comandos SQL para SQLite, e abordaremos as principais particularidades das tabelas SQLite como Rowid e ForeignKey, por exemplo, usando o SQLiteStudio para manipular nosso database.
Precisa de packages ou plugins?
Todo o acesso a dados é feito de forma nativa em C# e com as DLLs oficials do SQLite, sem uso de frameworks externos ou ORMs de terceiros, permitindo independência total de códigos alheios.
Qual o workflow do curso?
Primeiramente, compilaremos as dlls do SQLite do site oficial para serem usadas em Android na Unity, e usaremos as dlls de acesso a dados da Unity.
Veremos a criação do banco com uma ferramenta externa, o SQLite Studio, muito útil para manipular o banco de dados de forma visual.
Em seguida, importaremos ele na Unity, e veremos como o banco deve ser usado em cada plataforma.
Você poderá acompanhar a criação de uma fase de game com assets gratuitos onde o banco é usado em cada plataforma, e poderá compreender melhor como usar dentro do seu próprio projeto pessoal.
Por fim, uma nova seção foi adicionada com aulas sobre como lidar com atualizações na estrutura do banco de dados mesmo após o game ter sido publicado.
Não é necessário conhecimentos avançados em Unity ou SQL, embora conhecimento básico sobre programação e SQL seja um requisito, porém, tudo será explicado/revisado à medida em que for necessário.
Aproveite e bons estudos!