GithubHelp home page GithubHelp logo

Comments (6)

takdeveloper avatar takdeveloper commented on August 15, 2024

The obfuscation mapping that is generated when ATAK is built in release mode must be fed as an input into the plugin's build so that the plugin properly refers to the obfuscated API.

For local builds, this will require placing the mapping file in a specific location relative to your plugin project. Please see https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV/blob/master/atak-gradle-takdev/src/main/groovy/com/atakmap/gradle/takdev/TakDevPlugin.groovy#L123 to get insight into the locations where the mapping file is being searched for.

from androidtacticalassaultkit-civ.

talentedbrute avatar talentedbrute commented on August 15, 2024

Thanks for the insight. I moved my plugin code into the ATAK source folders so the paths line up but I still get the same error above. I have rebuilt and reinstalled ATAK and the plugin.

from androidtacticalassaultkit-civ.

takdeveloper avatar takdeveloper commented on August 15, 2024

@tareed I would suggest building the atak-gradle-takdev plugin locally and adding some debugging statements to determine if the mapping file is properly being discovered. Assuming everything is good, the proguard mapping from the ATAK release build should get copied to <plugin-root>/app/build/proguard-<variant>-release-mapping.txt. It should be ~8MB in size. The path to this file gets set on the system property, atak.proguard.mapping, which should be getting applied via the plugin's proguard configuration (see https://github.com/deptofdefense/AndroidTacticalAssaultKit-CIV/blob/master/plugin-examples/plugintemplate/app/proguard-gradle.txt#L10).

Unfortunately, without seeing the project or how the development environment is configured, I can't provide much guidance outside of suggesting that it sounds like the proguard mapping from the ATAK release build is not properly being consumed by the plugin release build.

from androidtacticalassaultkit-civ.

talentedbrute avatar talentedbrute commented on August 15, 2024

While I look at your other suggestions here is how the dev environment is configured. I am building this on Ubuntu 18.04, I have the latest 4.2.0 baseline pulled and I have moved my plugins folder inside of the root atak source folder (see screenshot). This way the paths lines up with what you suggested.

Screen Shot 2021-04-08 at 3 03 44 PM

from androidtacticalassaultkit-civ.

talentedbrute avatar talentedbrute commented on August 15, 2024

Solved it. Here is what I had to do to solve this.

  1. The plugin is two folders deep in the atak source folder (i.e. plugins/wxdata)
  2. Build atak and assembleCivRelease this gets you main.jar and the right mapping.txt
  3. In the root of the atak source folder make sure the keystore is called android_keystore

The missing piece for me was the keystore, once I created a softlink to my real keystore it worked just fine. The atak-gradle-taskdev plugin is checking the location of main.jar, mapping.txt and android_keystore to determine what type of build this is going to be (online or offline). To do what I needed I needed it to be an online build.

from androidtacticalassaultkit-civ.

takdeveloper avatar takdeveloper commented on August 15, 2024

@tareed We'll look to resolve this in the atak-gradle-takdev plugin in one of the upcoming releases.

from androidtacticalassaultkit-civ.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.