Obter o nome de um APK Android usando C ++ e a classe NativeActivity
Estou escrevendo um aplicativo Android usando o NDK e o NativeActivity. Meu aplicativo depende de alguns bits de código de terceiros que são enviados como ativos. Atualmente, estou trabalhando para tentar extrair esses ativos, mantendo intacta a estrutura da pasta.
Tentei usar o AssetManager, mas para manter intacta a estrutura da pasta, parecia haver uma quantidade enorme de código envolvida, para uma tarefa simples, como a que mencionei. Desde então, mudei o foco para tentar implementar o tratamento do APK como um arquivo ZIP e extrair seu conteúdo dessa maneira. Mas isso exige que eu encontre o caminho exato para o APK.
Em um aplicativo Android normal, seria usado getPackageCodePath, mas esse é um método abstrato anexado à classe Context. Minha pergunta é como obtenho o caminho exato para o APK quando não estou usando uma atividade normal?
Também tentei chamar getPackageCodePath via JNI, mas isso travou o aplicativo por não ser possível encontrar o métod
EDIT: Isso é possível?