Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

GRANDE PROBLEMA - IONIC 3 + FACEBOOK NATIVE

Boa Tarde,

Estou com um problema extremamente chato, já tentei de tudo que é maneira e continua da mesma forma, quando vou integrar o FACEBOOK com o IONIC 3, sigo todos os passos corretamente (Do próprio site da ionicframework, como também diversos outros vídeos), consigo dar um "ionic serve --lab", mudo no config.xml e etc... APP_NAME e etc... faço tudo corretamente, pode ter certeza,

Mas está acontecendo alguma coisa que não consigo compreender e nem encontrar solução que é, ao tentar criar um BUILD para esse mesmo projeto para testar no meu device depois, acontece a seguinte EXCEPTION:

[LEMBRANDO]: Segui todos os passos fornecidos para conseguir integrar o FACEBOOK com o IONIC, o problema só acontece na hora de criar um BUILD,

[OBS]: Se eu apagar o plugin "cordova-plugin-facebook4", consigo fazer o build novamente.

OBS2: Me parece que não está encontrando o ID e USER NAME da app criada no FACEBOOK, mas segui o passo a passo corretamente, criando até o "config.xml" as variaveis e etcc...

Estou desesperado por uma solução, pois estou precisando aplicar essa função em meu projeto, peço a ajuda de vocês por favor.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:42: AAPT: error: resource string/fb_app_id (aka com.ionicframework.testkokua:string/fb_app_id) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:45: AAPT: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:49: AAPT: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:42: error: resource string/fb_app_id (aka com.ionicframework.testkokua:string/fb_app_id) not found.
C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:45: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.
C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:49: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.
error: failed processing manifest.

Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
        at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
        at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at 

  at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
        at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
        at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        ... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
        at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:454)
        at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:411)
        at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
        at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 14s
(node:7872) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
3 respostas

Bom dia. Eu nunca usei esse recurso, todavia, como você sinalizou, parece que as configurações que ele precisa não foram adicionadas. Vejo isso por esta linha:

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:42: AAPT: error: resource string/fb_app_id (aka com.ionicframework.testkokua:string/fb_app_id) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:45: AAPT: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:49: AAPT: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:42: error: resource string/fb_app_id (aka com.ionicframework.testkokua:string/fb_app_id) not found.
C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:45: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.
C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:49: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.

Quando o Ionic esta gerando o manifest do Android, esta gerando um manifest errado, ou será que você alterou o manifest na mão?

Não é trivial descobrir o problema que esta acontecendo, mas ir pelo caminho de que a configuração necessária não esta correta é um caminho.

Vou deixar sua dúvida aberta aqui para ver se mais alguém já passou por isso.

Obrigado pela resposta Flávio, mas não cheguei a alterar nada, fiz exatamente o que o passo a passo me solicitou, e mesmo assim acontece esse erro tosco, que não sei porque acontece, gostaria de saber se alguém já passou por isso e como resolver, "ionic info" do meu projeto:

    @ionic/cli-utils: 1.19.0
     ionic <Ionic CLI>: 3.19.0

Global packages:

    @ionic/app-scripts: 3.1.16
    Cordova Platforms: android 7.0.0
    Ionic Framework: ionic-angular 3.9.2

System:

    Node: v8.5.0        
    npm: 5.3.0
    OS: Windows 7

Environment Variables:

    ANDROID_HOME: not setItem

Misc:    

    backend: pro

ANDROID STUDIO - SDK: 26

Gostaria muito da ajuda de vocês do porque não estar encontrando as variáveis que logo são criadas quando é instalado o plugin.


PASSOS QUE FIZ PARA TESTAR A BUILD COM ESSE PLUGIN:

1: Acessar https://developers.facebook.com

    * Criar a app
    * Adicionar as plataformas ANDROID e IOS
    * Definir os "package name", ex: com.ionicfacebook.kokua

    * Na plataforma android, ainda adicionei o HASH KEY com o código:
keytool -exportcert -alias androiddebugkey -keystore C:\Users\USER\.android\debug.keystore | openssl sha1 -binary | openssl base64

2: Alterei o "<widget id="com.ionicfacebook.kokua" do meu arquivo "config.xml"

3: Instalei o plugin com:

ionic cordova plugin add cordova-plugin-facebook4 --variable APP_ID="ID AQUI" --variable APP_NAME="NAME AQUI "

(OBS: Id e name fornecidos no https://developers.facebook.com/apps)

4: Instalei as dependências:

npm install --save @ionic-native/facebook

5: Crie uma "platform" para o android:

ionic cordova platform add android

[ATÉ AQUI TUDO OK]

6: Criar uma build desse projeto para o ANDROID:

ionic cordova build android

[AQUI JÁ ACONTECE A EXCEPTION INFORMADA, NÃO DEIXANDO EU CRIAR UMA BUILD]

[OBS]: - Já tentei criar um projeto do ZERO, só com esse plugin, mas não funcionou - Já reinstalei o ANDROID STUDIO - Já executei novamente: npm install -g cordova ionic - Já apague pastas do ".android, .grandle" para instalar tudo novamente

Alguém teria alguma ideia ?

solução!

Boa Tarde, pessoal, consegui resolver pesquisando bastante e apenas em 1 site encontrei uma solução para essa dúvida:

Quando for dar um BUILD pela primeira vez, talvez ocorra:] - C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:42: AAPT: error: resource string/fb_app_id (aka com.ionicframework.testkokua:string/fb_app_id) not found.

C:\ProjetoIonic\ProjetoTest\platforms\android\app\build\intermediates\manifests\full\debug\AndroidManifest.xml:45: AAPT: error: resource string/fb_app_name (aka com.ionicframework.testkokua:string/fb_app_name) not found.
  • Isso ocorre porque no "Manifest.xml" a anotação @string está procurando as variáveis com o APP_ID e APP_NAME em: platforms\android\app\src\main\res\values\strings.xml

  • Dentro dele, precisamos acrescentar manualmente as variáveis com esse ID e NAME, ex:

    <string name="fb_app_id">203764573505261</string>
    <string name="fb_app_name">Ionixkokua</string>

Para mim funcionou perfeitamente.