> For the complete documentation index, see [llms.txt](https://docs.talsec.app/freerasp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.talsec.app/freerasp/freerasp/integration/flutter/troubleshooting.md).

# Troubleshooting

The most frequent issues occurring during integration:

#### General

<details>

<summary>Upgrading from freeRASP 4.x.x or earlier</summary>

Please remove the old `TalsecRuntime.xcframework` and integration script from your project:

1. Go to your project's `ios` folder
2. Open `Runner.xcworkspace` in Xcode
3. On the top bar, select `Product` -> `Scheme` -> `Edit Scheme...`
4. On the left side, select `Build` -> `Pre-actions`
5. Find the integration script and click the trash icon on the right side to remove it
6. Open the `.flutter-plugins` (in the root folder of the app), and get the address where the freerasp is installed.
7. Go to the given folder, and remove the `freerasp` folder file.
8. Delete the `.symlinks` folder from the project.
9. Run `pub get`
10. Run `pod install` to test it

**Otherwise, no further setup is required.**

**Note: You need Xcode 15 to be able to build the application.**

</details>

#### Android Devices

<details>

<summary>Could not find ...  dependency issue</summary>

**Solution:** Add dependency manually (see [issue](https://github.com/talsec/Free-RASP-Flutter/issues/1)).

In `android` -> `app` -> `build.gradle` add these dependencies

```gradle
dependencies {
    ...
    // Talsec dependency
    implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:<version>'
}
```

</details>

<details>

<summary>Code throws java.lang.UnsatisfiedLinkError: No implementation found for... exception when building APK</summary>

**Solution:** The Android version of freeRASP is already obfuscated.

Add this rule to your `proguard-rules.pro` file:

```gradle
-keepclasseswithmembernames,includedescriptorclasses class * {
native ;
}
```

</details>

<details>

<summary>APK size increased a lot after implementation of freeRASP</summary>

**Solution:** In `android/app/src/AndroidManifest.xml` add attribute into application tag:

```xml
android:extractNativeLibs="true"
```

The updated tag might look like this:

```xml
<application
    android:label="freerasp_example"
    android:icon="@mipmap/ic_launcher"
    android:extractNativeLibs="true">
```

[As pointed out in this issue comment](https://github.com/talsec/Free-RASP-Flutter/issues/100#issuecomment-1904193110), setting `extractNativeLibs` to `true` removes native libraries from the final APK, resulting in a smaller size. Conversely, setting it to `false` keeps the libraries uncompressed and stored within the APK, which increases the APK size but might allow the application to load faster because the libraries are loaded directly at runtime.

</details>

#### iOS Devices

<details>

<summary>Unable to build release for simulator in Xcode (errors)</summary>

**Solution:** The simulator does **not** support the release build of Flutter - more about it [here](https://flutter.dev/docs/testing/build-modes#release). Use a real device in order to build the app in release mode.

</details>

<details>

<summary>MissingPluginException occurs on hot restart</summary>

**Solution:** Technical limitation of Flutter - more about it [here](https://stackoverflow.com/questions/50459272/missingpluginexception-while-using-plugin-for-flutter). Use command `flutter run` to launch the app (i.e. run the app from scratch).

</details>

For more general issues or questions, visit [FAQ](/freerasp/freerasp/faq.md) page. You can also check out the [Issues section of our GitHub repository](https://github.com/talsec/Free-RASP-Flutter/issues?q=is%3Aissue), where you can report issues and view existing reports.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.talsec.app/freerasp/freerasp/integration/flutter/troubleshooting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
